一方面是 Go 语言编译后的可执行文件大小比 C 语言的大很多,
另一方面是 C 语言的可执行文件需要依赖 glibc 动态库,
用 ldd 命令可以看出来:
或者直接删除 glibc 动态库, C 可执行程序报错,而 Go 的还能运行:
这时候只有内部命令可以运行,外部命令,包括 ln 甚至最常用的 ls 命令也不能运行了:
设置好 LD_PRELOAD 环境变量之后, ln 命令可以运行,但是 sudo 仍然不能运行
只能靠 root 用户来重新创建软连接了:
所以用 sudo 来 rm 文件要小心,还是用 root 比较好。如果没有预先留一个打开的 root 终端,登录都登不进去。
静态编译?你指的是MFC静态链接吧。在你的VC项目上单击右键,点击属性,然后看配置属性里面的常规项,在右面的MFC使用中选择“在静态库中使用MFC”就可以了。
注意,上面一栏“配置”里,Debug和Release都要改。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)