我一直在将一些Linux工具(和我自己的C代码)交叉编译到Android上,其中一个挑战是Android的libc缺少/剥离了一些组件,导致我不得不修补我的代码以让它与Android的libc配合使用(例如像这样的问题:http://credentiality2.blogspot.com/2010/08/compile-ncurses-for-android.html)
问题1:在使用arm工具链(或ndk-build)进行交叉编译时,如何进行静态链接glibc(和其他依赖项)?
问题2:对于Android的二进制文件来说,静态链接glibc是一个好主意吗?如果我开始静态链接,是否应该期望出现任何问题?是否存在性能/内存问题?
我从这里了解了大部分静态链接与动态链接的优缺点: C++ application - should I use static or dynamic linking for the libraries? 和 Static linking vs dynamic linking
因此,我希望知道当我交叉编译二进制文件时,是否应该静态链接glibc。