作者热门文章
- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
如何在64位x86环境下编译32位x86应用程序?
cc/ld/ar 的任何命令,包括选项?谢谢。
非常感谢任何链接。谢谢。
注意:以c代码为例。
最佳答案
要使用 64 位 multilib GCC 编译和链接 C 源文件,您可以执行以下操作:
gcc -m32 -c somefile.c
gcc -m32 somefile.o -o myprog
请注意,所有 32 位库都需要安装并可供 multilib 编译器使用。
ar
应该可以工作,如果构建正确,不鼓励直接调用 ld
,因为它的选项与 GCC 的选项完全不同。只需与 GCC 链接即可。
至于为什么“不鼓励直接调用ld
”:如果你所有的gcc
链接,它就会知道系统/运行时库的确切位置,并且还有关于它需要传递给 ld
的任何特定于平台的选项。当直接调用 ld
时,您需要处理所有这些。这对于 32 位和 64 位的选项以及适当的库目录很重要。
关于c++ - 如何在64位x86环境下编译32位x86应用程序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8384148/
我是一名优秀的程序员,十分优秀!