我正在尝试在 Visual Studio 2010 中创建一个符合以下条件的 C++ 应用程序:
- 显示一个空窗口
- 尽可能小(例如,小于 100kb)
- 在 Windows XP 的全新空安装上运行(不需要任何运行时、库等)
基本上,我想摆脱运行时。我唯一需要的是调用 WinAPI 函数来显示一个窗口和 BitBlt 一些东西到它的表面。
可能吗?
我正在尝试在 Visual Studio 2010 中创建一个符合以下条件的 C++ 应用程序:
基本上,我想摆脱运行时。我唯一需要的是调用 WinAPI 函数来显示一个窗口和 BitBlt 一些东西到它的表面。
可能吗?
MSDN 文档有一个很好的 WinAPI“Hello, World!”的逐步示例。你只需要吃一点开菲尔就可以了;)
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 或更高版本。如果您需要针对 Windows XP 的 SP2 之前的版本,您可能希望检查此解决方法。