使用GUI创建Windows程序但使用'main()'(在D中)?

Jer*_*oen 2 windows winapi program-entry-point d winmain

是否有可能在Windows中创建一个GUI程序,它的入口点是'main()'?我该怎么做呢?

我的用途是我想要一个跨平台的应用程序,有一个统一的入口点.

Ben*_*igt 6

  1. 使用您main()在其中使用的所有GUI调用编写应用程序WinMain.这将创建一个包含GUI和控制台窗口的应用程序.
  2. 使用Windows SDK工具editbin /SUBSYSTEM:WINDOWS appname.exe更改PE标头中的子系统标志,因此Windows不会自动创建控制台窗口.
  3. 如果您希望stdout使用调试消息等,您可以使用freopen直接stdout指向文件,或者AllocConsole当您决定需要控制台窗口时(例如,在发生错误之后).

BTW:这个线程表明DMD编译器会喜欢main()WinMain()无论如何,如果它发现两个.