我正试图在Visual Studio 2010中创建一个符合以下条件的C++应用程序:
- 显示一个空窗口
- 尽可能小(例如,在100kb)
- 在新的空安装的Windows XP上运行(不需要任何运行时、库等)
基本上,我想摆脱运行时。我唯一需要的就是调用WinAPI函数来显示一个窗口,并在它的表面上BitBlt一些东西。
有可能吗?
1/2:Visual Studio可以生成一个基本模板,这正是您所需要的(显示一个空窗口)。使用File -> New -> New Project -> select 'Win32 Project' -> click 'Finish'
创建项目。静态链接到C运行时库时,Release \Win32二进制文件的大小为81KB(有关详细信息,请参阅下文)。当然,添加代码可能会增加二进制大小。您可能需要查看优化设置,甚至二进制压缩以最小化大小。由于防病毒软件经常出现误报,我不建议使用后者。
3:您需要静态链接到C运行时库。这可以在Configuration Properties -> C/C++ -> Code Generation -> Runtime Library
下进行配置(选择/MT
进行发布,选择/MTd
进行调试)。这样做将允许您在不安装Visual C++2010可再发行包的情况下运行可执行文件。
请注意,使用Visual Studio 2010编译的二进制文件需要Windows XP SP2或更高版本。如果您需要针对SP2之前版本的Windows XP,您可能希望检查此解决方法。