I'm working on a cross-platform GUI library and I'd like to be able to call the user's main() function from WinMain() so users don't have to write both functions. However, I'm at a bit of a loss as to how to accomplish that. I know that D internally creates the extern(C) main(), which in turn calls D's main(), but I think that the C main() also performs some runtime initialization, which means that I probably shouldn't be calling it after WinMain() has already started. Since the D main() is defined at module scope, I'm not sure how to access it without importing one of the user's modules. I think that each module can define its own main() as well, which really complicates things. Is there a reasonably simple way to get the right main() function?

I hate to say it, but this is a problem that would actually be easier in C++ :)

Reply via email to