c++ - 显示窗口的简约 Visual C++ 应用程序

标签 c++ visual-c++ visual-c++-2010 crt

我正在尝试在 Visual Studio 2010 中创建符合以下条件的 C++ 应用程序:

  1. 显示一个空窗口
  2. 尽可能小(例如,在 100kb)
  3. 在 Windows XP 的全新空安装上运行(不 需要任何运行时、库等)

基本上,我想摆脱运行时。我唯一需要做的就是调用 WinAPI 函数来显示一个窗口和 BitBlt 一些东西到它的表面。

这可能吗?

最佳答案

1/2:Visual Studio 可以生成一个基本模板,这正是您所需要的(显示一个空窗口)。使用 File -> New -> New Project -> 选择“Win32 Project” -> 单击“Finish” 创建项目。静态链接到 C 运行时库时,Release\Win32 二进制文件为 81KB(更多内容见下文)。当然,添加您的代码可能会增加二进制文件的大小。您可能需要查看优化设置甚至 binary compression以最小化尺寸。由于防病毒软件经常误报,我不推荐后者。

3:您需要静态链接到 C run-time library .这可以在 Configuration Properties -> C/C++ -> Code Generation -> Runtime Library 下配置(选择 /MT 发布和 /MTd用于调试)。这样做将允许您在不存在 Visual C++ 2010 redistributable package 的情况下运行可执行文件。安装。

请注意,使用 Visual Studio 2010 编译的二进制文件需要 Windows XP SP2 或更高版本。您不妨查看this workaround如果您需要针对 SP2 之前的 Windows XP 版本。

关于c++ - 显示窗口的简约 Visual C++ 应用程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8925775/

相关文章:

c++ - 使用整数作为外流文件名?

c++ - 在 Visual Studio 2015 中从源代码构建 OGRE3D 时如何解决错误

winapi - 无法使用普通 win32 api 在 Visual C++ Express 2010 中创建 StatusBar

c++ - SDL 增量时间重置

c++ - 将 std::variant 转换为另一个具有父类(super class)型集的 std::variant

c++ - 使用 MSVC 2013 和 2015,使用 CMake 和 ExternalProject_Add 通过引用将 std::vector 传递给导出的成员函数

c++ - 使用 auto 关键字时不遵守对齐 16?

c++ - Visual C++ float 组值改变

c++ - 访问 dataGridView 列中的组合框?

c++ - 在模板类中使用标准分配器时,模板声明是什么样的?