以前编译 c 程序出来是一两百 K, 现在编译出来就是几 M, 还依赖十几个 so, 很可能包括第三方 so 编一个 go 程序出来, 5.6M, 无视发行版,不管什么 kernel 版本, 直接跑.
tabris17
2020-12-14 10:05:10 +08:00
动态库意味着库的版本冲突,从 ms 的 com 组件开始,就没有一个完美的解决方案
codehz
2020-12-14 10:18:22 +08:00
(没说到点子上, 动态链接 c 库肯定不是楼主想问的,那个确实都支持 自身编译成动态库才是新语言所缺少的( go 有 plugin,但是不是 first class 的) 这里的问题明明是语言自身缺少稳定的 ABI,没法把一些语言构造很好的导出,比方说 rust 泛型的导出( go 的 interface 导出,plugin 方式还是过于原始,再加上 go 以后也要基于 interface 做泛型了)