为什么一个C++ MFC "empty"项目占用 142MB 和一个 6MB 的可执行文件?(Visual Studio 2010)
Why is a C++ MFC "empty" project taking up 142MB and a 6MB executable? (Visual Studio 2010)
相比之下,从VS2010 C#制作相同的基本Windows Forms应用程序实际上是600KB。对于下面的#1和#2,我创建了一个名为"hello"的基于对话框的新MFC应用程序。合并的项目文件夹大小为 142MB。
所以我想这个问题是两部分的:
1)为什么对于一个很小的,基本上没有功能的程序来说,这些是"必要的"和如此巨大的
:hello.sdf - 61MB
hello.pch - 32MB
hello.pbd - 24MB
hello.ilk - 14MB
hello.exe - 6MB
2)最终我的目标是分发一个静态exe,它可以在XP/2000/7/8上运行,也可以在Wine(对于Mac/Linux系统)中运行 - MFC或Win32会更好吗?
这将是一个表单和对话框应用程序(而不是图形和其他东西),并且主要只是读取和写入文本文件。
这些文件与可执行文件大小无关。您不会将它们分发给您的用户。 你正在测量智能感知数据库文件、预编译头文件、SQL 数据库文件和链接器使用的文件。 构建发布版本并查看.exe文件。 这才是最重要的。
>hello.sdf
是一个内部可视化工作室数据库文件,用于保留源的所有交叉引用 - 它包括示例源连接到的 SDK 中的所有 .h 标头。
尝试使用共享库构建非 Unicode 版本。
相关文章:
- 程序在使用 system() 启动另一个可执行文件时停止
- 只有一个可执行文件即可进行跨平台 SIMD 调用?
- 构建一个可执行文件,如果是单个 cpp 文件
- C++将各种资源文件链接到一个可执行文件中
- 如何在 ubuntu 上将可执行文件注入另一个可执行文件
- 'Continuous' C++一个可执行文件的输出作为另一个程序的输入
- 程序如何创建另一个可执行文件
- 用cpp、python和csv文件制作一个可执行文件
- 从Ubuntu到Debian运行一个可执行文件
- 当文件相互依赖时,如何使用g++将多个cpp文件编译为一个可执行文件
- 执行一个新的完全独立的进程,该进程封装在一个可执行文件中,而不需要为独立进程将文件写入磁盘
- 我可以将一个可执行文件与另一个可执行文件(Windows 服务程序)组合在一起,并将该程序作为逻辑服务运行吗?
- 在Linux上,从C++调用一个可执行文件,然后等待它完成
- 将所有.cpp文件编译为一个可执行文件
- 如何将多个gsoap客户端web服务编译成一个可执行文件
- 如何在CMake中更改一个可执行文件的编译器标志
- 创建一个调用另一个可执行文件的可执行文件
- 如何在调试模式和发布模式下链接一个动态库和一个可执行文件
- C++,Visual Studio:有可能创建一个可执行文件来设置环境变量,然后执行吗
- Turbo C++系统函数运行一个可执行文件