适用于 Windows 7 SP1(2011-05-12) 和 Server 2008 R2 SP1 的 UpdatePack7R2+
{mtitle title="下载地址"/}
magnet:?xt=urn:btih:155868B389BF9AD81E367AD1D878B389F392DDEB
{mtitle title="原文地址"/}
https://blog.simplix.info/update7/
{mtitle title="下载地址"/}
magnet:?xt=urn:btih:155868B389BF9AD81E367AD1D878B389F392DDEB
{mtitle title="原文地址"/}
https://blog.simplix.info/update7/
Visual Studio 2010
Ultimate: YCFHQ-9DWCY-DKV88-T2TMH-G7BHP
Visual Studio 2013
Professional: XDM3T-W3T3V-MGJWK-8BFVD-GVPKY
Premium: FBJVC-3CMTX-D8DVP-RTQCT-92494
Ultimate: BWG7X-J98B3-W34RT-33B3R-JVYW9
Team Foundation Server: MHG9J-HHHX9-WWPQP-D8T7H-7KCQG
Visual Studio 2015
Professional: HMGNV-WCYXV-X7G9W-YCX63-B98R2
Enterprise: HM6NR-QXX7C-DFW2Y-8B82K-WTYJV
Visual Studio 2017
Test Professional: VG622-NKFP4-GTWPH-XB2JJ-JFHVF
Professional: KBJFW-NXHK6-W4WJM-CRMQB-G3CDH | 4F3PR-NFKDB-8HFP7-9WXGY-K77T7
Enterprise: NJVYC-BMHX2-G77MM-4XJMR-6Q8QF | N2VYX-9VR2K-T733M-MWD9X-KQCDF
Visual Studio 2019
Professional: NYWVH-HT4XC-R2WYW-9Y3CM-X4V3Y | NJVYC-BMHX2-G77MM-4XJMR-6Q8QF
Enterprise: BF8Y8-GN2QH-T84XB-QVY3B-RC4DF | KBJFW-NXHK6-W4WJM-CRMQB-G3CDH
Visual Studio 2022
Professional: TD244-P4NB7-YQ6XK-Y8MMM-YWV2J
Enterprise: VHF9H-NXBBB-638P6-6JHCY-88JWH
微软什么的最讨厌啦~写个 GUI 程序要么带个控制台窗口,要么就得用非主流的 WinMain 函数作入口。
用 gcc 的话,这其实不是个问题,带上一个 -mwindows 参数即可顺利解决掉控制台窗口并且抛弃 WinMain。
而到了 Visual Studio,似乎很两难:
Linker 参数中 SubSystem 选择 Windows 可以去除控制台窗口,但会要求用 WinMain 作入口。
Linker 参数中 SubSystem 选择 Console 可以使用 main 作入口,但会自带控制台窗口。
于是困惑了。好在今天在 Irrlicht 的教程中见到了解法:
Linker 参数中的 SubSystem 继续选择 Windows,与此同时将 Entry Point 设置为 mainCRTStartup 即可兼得鱼和熊掌。
以命令行参数形式就是:/SUBSYSTEM:windows /ENTRY:mainCRTStartup
要点就是 ENTRY 参数有三种:mainCRTStartup、WinMainCRTStartup、和 _DllMainCRTStartup,分别对应调用 main、WinMain、和 DllMain,默认是根据 /DLL 和 /SUBSYSTEM 参数自动选择的。
#ifdef _DEBUG
#ifdef UNICODE
#pragma comment(linker, "/subsystem:\"console\" /entry:\"wWinMainCRTStartup\"")
#else
#pragma comment(linker, "/subsystem:\"console\" /entry:\"WinMainCRTStartup\"")
#endif
#endif