WinAPI for druntime and OpenGL for deimos.

Walter Bright newshound2 at digitalmars.com
Fri Nov 23 23:23:16 PST 2012


On 11/23/2012 5:06 PM, Vladimir Panteleev wrote:
> On Friday, 23 November 2012 at 21:21:49 UTC, Walter Bright wrote:
>> On 11/23/2012 5:57 AM, Vladimir Panteleev wrote:
>>> There might be some incompatibilities, for example due to how the HANDLE type is
>>> declared. In C, you can use either 0 or NULL as a parameter to a function
>>> accepting an integer or pointer. In D, you cannot. IIRC, some types were
>>> declared differently in Druntime's modules and in the win32 bindings.
>>>
>>> If breaking code were not an issue, the best solution would be to make HANDLE a
>>> unique, opaque type (like a struct wrapping an intptr_t or void*) - which is
>>> exactly how it should be treated. It would need to support assignment/creation
>>> from "null" though.
>>
>> This is why I don't approve of attempts to "fix" Windows APIs. It winds up
>> being incompatible here and there, and breaks things.
>
> I don't think I follow the logic of this argument.

Because if we take on the task of "fixing" Windows APIs, then we also take on 
the task of documenting them, supporting them, educating people about them, and 
invalidating the river of documentation that already exists on how to program 
via the Windows APIs.



More information about the Digitalmars-d mailing list