C++ 程序中,全局对象的初始化是在主函数([w]main() or [w]WinMain)被调用之前被初始化的。
Visual studio 编译器在编译时会判断编译选项 "-subsystem" 来指点输出程序是 "console" 还是 "windows",同时还会判断程序中所使用的字符集是否是 unicode 的。 所以 visaul studio 的程序会有四个不同的程序入口 (entry)。
subsystem\Unicode | Unicode(yes) | Non-unicode |
"console" | wmainCRTStartup(wmain) | mainCRTStartup (main) |
"windows" | wWinMainCRTStartup(wWinMain) | WinMainCRTStartup(WinMain) |