【发布时间】:2016-11-05 16:22:28
【问题描述】:
我写了这个小 C 程序
#include <stdio.h>
int main() {
int i = 0;
while (i < 10){
printf("%i", i);
i++;
}
}
如果我用 MinGW gcc 编译它,可执行文件是 59kb,但如果我用 linux gcc 编译它,通过 windows shell 上的 ubuntu,可执行文件只有 9kb。 50kb 似乎是很多额外的数据...这是为什么呢?
【问题讨论】:
-
两个程序的字符串长度是一样的;我最好的猜测是 mingw 的 stdio.h 文件比 msft 的等效 .h 文件大。 +1 因为我也很好奇。
-
我用反汇编程序打开了这两个可执行文件,看起来 MinGW 添加了一大堆额外的功能,151 对 17!这是函数名称的粘贴箱:pastebin.com/4dK4FjaU
-
MinGW 的哪个版本?
标签: c gcc compilation mingw