为什么同样是输出 "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”,指的是程序在计算机上实际运行的阶段,同时也指在此阶段所依赖的一系列配套程序。上文指后者。