Code构建的exe构建几乎是Visual Studio构建的相同代码的57倍

The*_* do 3 c++ codeblocks visual-studio-2010

这段代码:

#include <iostream>
using namespace std;

int main()
{
    cout << "Hello world!\n";
    return 0;
}
Run Code Online (Sandbox Code Playgroud)

当com ::在GCC 4.4.1的Code :: Blocks中给出大小为457KB,在VS2010中只有8KB(8).这两个编译器都针对大小进

谁知道为什么会有这样的差异?

Eri*_*rik 6

这是因为c ++标准库通过g ++静态链接,而VS将动态链接它.在cygwin下使用gcc快速检查给出了大致相同的大小,结果exe只导入了一些C函数.

#include <stdio.h>
int main() {
  printf("Hello world\n");
  return 0
}
Run Code Online (Sandbox Code Playgroud)

另一方面,此应用程序在gcc下编译为相同的最小EXE,因为它不需要任何c ++功能.