囫囵吞桃的个人博客 Home

为什么同样是输出 "Hello, World!" ,C++、Dart、Go打包的可执行程序大小不同

#技术 #随笔

所谓“打包”操作,实际上是把人类可方便阅读的高级语言(C++、Dart、Go等)转换为计算机可执行的、等价的机器语言。

对于C++而言,他是上述提到的三者中纯粹、最简单的编程语言。它需要做的只有:把Hello, World!\n打印到终端。

#include<iostream>
int main(){
	std::cout<<"Hello, World!\n";
	return 0;
}

而对于Dart语言而言,为了实现其自动垃圾回收、对象模型等一系列复杂机制,所有的Dart程序都会被同时地打包进一套“运行时”。

而Go语言也同样如此。

运行时,即“Runtime”,指的是程序在计算机上实际运行的阶段,同时也指在此阶段所依赖的一系列配套程序。上文指后者。