为啥 c/c++等就能编译成体积比较小的单个可执行文件,而像 go/c#等这种就算能编译成单个可执行文件,体积也比较大,好像加了类似运行环境之类的

2021-10-09 17:13:43 +08:00
 zxCoder
727 次点击
所在节点    问与答
6 条回复
dcty
2021-10-09 17:17:11 +08:00
依赖库啥的
AoEiuV020
2021-10-09 17:17:48 +08:00
所以 c/c++要啥没啥,
sujin190
2021-10-09 17:18:44 +08:00
c/c++等就能编译成体积比较小的单个可执行文件也仍然依赖一堆库的吧,go 编译出来的单个可执行文件就真的啥也不依赖了吧
ch2
2021-10-09 17:26:42 +08:00
c++要想达到一样的单文件能到处部署而且保证兼容性的效果,也得静态编译,体积也会爆炸
之所以你编译出来的那个文件小,是因为你本机有动态链接库,别的机器上没有或者版本不兼容的,它直接撂挑子
jworg
2021-10-09 17:38:50 +08:00
前者可以用到系统 libc 等一系列玩意儿,后者自己实现了一堆东西
secondwtq
2021-10-09 23:54:40 +08:00
真不一定小,模板一 monomorphize 教你做人

顺便可以看看这个 <amp-youtube data-videoid="b0zxIfJJLAY" layout="responsive" width="480" height="270"></amp-youtube>

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/806728

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX