Linux 的二进制兼容问题

                     

贡献者: addis

  • 本文处于草稿阶段。
预备知识 g++ 编译器创建静态和动态链接库

1. CPU 兼容性

2. 库兼容性

   参考这里的回答

   静态链接的程序一般没什么问题。但对于动态链接的程序,可以把所有非基础的 so 依赖库打包到一个文件夹里面并设置 rpath/runpath 或者 LD_LIBRARY_PATH。但是这里面不能包括一些基础的系统库例如

   最兼容的方法大概使用 chroot,可以把除了 vdso 以外的所有动态库都放到 fake root 文件夹里面。

                     

© 小时科技 保留一切权利