我今晚尝试了Go,在构建一个非常简单的程序时,我注意到可执行文件的文件大小远远大于C语言。
Go中的一个简单的hello world程序在构建后是1.5mb:
package main
import "fmt"
func main() {
fmt.Println("hello world")
}
这里是C,它在4.9kb
时要小得多#include <stdio.h>
int main(int argc, char** argv)
{
printf("Hello World\n");
return 1;
}
为什么两者都被编译为机器代码会产生大的差异?
编辑:我不是在问如何减少可执行文件的大小,我问的是为什么它会更大。