c++ - 编译 C++ 代码后的大尺寸

标签 c++

我的 IDE 是 Code::Blocks

我写了一个简单的c++代码

#include <iostream>
using namespace std;
int main(void){
   cout << "hello, World!";
}

我使用支持 c++14 的 gcc 7.1 编译了它

当我选择 Debug模式并构建并运行它生成的应用程序时:

Output file is bin\Debug\learn.exe with size 13.56 MB

注意:大小为 13.56 MB

在那之后,我选择了 Release模式,然后我构建并运行了应用程序,它给了我这个:

Output file is bin\Release\learn.exe with size 1.12 MB

现在输出是1.12 MB

我很困惑,如果有数据丢失或类似的东西,也许图书馆......?

这正常吗?

最佳答案

调试构建的全部意义在于可执行文件包含您可以用来调试的东西。这包括通常不会保留的信息,例如变量名称。

代码也不那么简洁,因为它没有经过太多优化(优化对调试过程没有帮助)。

您绝对可以期望调试版本更大。

关于c++ - 编译 C++ 代码后的大尺寸,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45079898/

相关文章:

c++ - 将执行错误重定向到文件 c++

c++ - 在 C++ 中解析字符串以分配参数

c++ - 将加密数据保存在内存中

c++ - 对于像 ETX/STX 对这样的多个字符,是否有类似于 std::quote 的东西

c++ - 在 C++ 函数中定义的对象在超出范围后是否会被销毁?

c++ - 部分类模板特化

c++ - 与库链接相比,实现前端的优势

c++ - 如何在 OSX 上通过 vswprintf 格式化宽字符字符串(想要返回 std::wstring)

c++ - 给定程序中的段错误

gcc+mingw 下的 C++ 段错误,但不是 gcc+linux