What's up with the windows headers?

Jonathan M Davis jmdavisProg at gmx.com
Thu Dec 27 03:40:25 PST 2012


On Thursday, December 27, 2012 11:14:15 Stewart Gordon wrote:
> On 27/12/2012 04:04, Jonathan M Davis wrote:
> <snip>
> 
> >  And if I understand correctly, that's what the Windows API
> > 
> > project does, which should make the transition easier. But there's still
> > the issue of figuring out how to do that transition (like figuring out
> > how to deal with versions and the like), and someone still has to do it.
> 
> You mean how to give people who currently _are_ using
> core.sys.windows.windows the time to convert their code to use the full
> bindings?  If win32.* is just migrated to core.sys.windows.* then the
> problem is solved, since win32.windows is a module that imports
> everything.  The only thing they'll need to do is do away with the extra
> Windows API declarations they've put into their projects, in order to
> avoid symbol conflicts.

Transition is one issue, but as I understand it, there are issues with regards 
to versioning, since druntime tends assume that there's only one OS version 
instead of asking you which version you're building for, whereas the actual 
Windows API uses a fair number of ifdefs which use macros, and the Windows API 
project has tried to emulate that. I think that there were also issues with 
different approaches for handling types between what the Windows API project is 
doing now and what druntime is doing now. I'd have to go look through previous 
discussions on that to really know what was going on though. I don't deal with 
Windows much and am prone to forgetting some of those types of details.

Regardless of what the issues are though or how much effort is involved in 
merging the Windows API project into druntime, someone has to take the time to 
sort it all out and do it, and no one has done that yet. We need a D developer 
who's familiar with Windows and the Windows API project to step up and take it 
on. The last, major discussion on it was instigated by someone interested in 
doing it, but they weren't all that familiar with the Windows side of things, 
and it seems that some issues weren't properly sorted out, so it never went 
anywhere.

- Jonathan M Davis


More information about the Digitalmars-d mailing list