为什么一个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)

本文关键字:一个 可执行文件 6MB 2010 Studio Visual 项目 MFC C++ empty 为什么      更新时间:2023-10-16

相比之下,从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 版本。