V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
zxCoder
V2EX  ›  问与答

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

  •  
  •   zxCoder · 58 天前 · 336 次点击
    这是一个创建于 58 天前的主题,其中的信息可能已经有所发展或是发生改变。
    dcty
        1
    dcty  
       58 天前
    依赖库啥的
    AoEiuV020
        2
    AoEiuV020  
       58 天前   ❤️ 1
    所以 c/c++要啥没啥,
    sujin190
        3
    sujin190  
       58 天前
    c/c++等就能编译成体积比较小的单个可执行文件也仍然依赖一堆库的吧,go 编译出来的单个可执行文件就真的啥也不依赖了吧
    ch2
        4
    ch2  
       58 天前
    c++要想达到一样的单文件能到处部署而且保证兼容性的效果,也得静态编译,体积也会爆炸
    之所以你编译出来的那个文件小,是因为你本机有动态链接库,别的机器上没有或者版本不兼容的,它直接撂挑子
    jworg
        5
    jworg  
       58 天前
    前者可以用到系统 libc 等一系列玩意儿,后者自己实现了一堆东西
    secondwtq
        6
    secondwtq  
       58 天前
    真不一定小,模板一 monomorphize 教你做人

    顺便可以看看这个
    关于   ·   帮助文档   ·   API   ·   FAQ   ·   我们的愿景   ·   广告投放   ·   感谢   ·   实用小工具   ·   4070 人在线   最高记录 5497   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 27ms · UTC 03:36 · PVG 11:36 · LAX 19:36 · JFK 22:36
    ♥ Do have faith in what you're doing.