A few notes on choosing between Go and D for a quick project
rumbu via Digitalmars-d
digitalmars-d at puremagic.com
Mon Mar 16 03:24:43 PDT 2015
On Monday, 16 March 2015 at 10:02:46 UTC, Rikki Cattermole wrote:
>>
>> So instead of writing:
>>
>> extern(Windows) DWORD GetVersion(),
>>
>> we can write:
>>
>> extern(Windows, "api-ms-win-core-sysinfo-l1-2-1.dll", [optional
>> funcname]) DWORD GetVersion() or
>> extern(Windows, "kernel32.dll") DWORD GetVersion() for older
>> Windows
>> versions (<8).
>>
>>
>> I know probably a mixin will partially solve this, but this
>> will save
>> some important boilerplate code (just look at DerelictOrg
>> bindings,
>> thousands LOC just to load some functions from a dll).
>
>
> Don't, please don't dare me...
> I could totally do this with UDA's and CTFE for function
> pointers.
> Plus my new total secret API could make this trivial to hook
> into.
Been there, done that:
https://github.com/rumbu13/sharp/blob/master/src/system/runtime/interopservices/package.d
alias GetVersion =
DllImport!("api-ms-win-core-sysinfo-l1-2-1.dll", "GetVersion",
DWORD function())
I didn't achieve more than that, i consider this ugly,
non-intellisense friendly, that's whay a builtin language
construct will be better. Can't wait to see your total super
secret API :)
More information about the Digitalmars-d
mailing list