gpt4 book ai didi

c - 带 -m32 选项的 32 位 gcc 和 64 位 gcc 有什么区别?

转载 作者:太空狗 更新时间:2023-10-29 15:08:45 28 4
gpt4 key购买 nike

我的团队最近一直在研究 JNI,因此我们面临着有关 32 位和 64 位架构的不同问题。让我们举个例子 (temp.c)。

#include <stdio.h>
void main(){
printf("long=%d\n",sizeof(long));
}

gcc_32_bit temp.cgcc_64_bit -m32 temp.c 有区别吗?

案例测试:

案例 1: 使用 gcc temp.c 在 64 位 ubuntu 上编译的代码。 输出 long=8 在 64 位 ubuntu 上。

案例 2: 使用 gcc -m32 temp.c 在 64 位 ubuntu 上编译的代码。 输出 long=4 在 64 位 ubuntu 上。

案例 3: 使用 /usr/local/gcc-4.8.1-for-linux64/bin/x86_64-pc 在 64 位 MAC ( 64-bit cross compiler used ) 上编译的代码-linux-gcc temp.c输出 long=8 在 64 位 ubuntu 上。

案例 4:使用 /usr/local/gcc-4.8.1-for-linux32/bin/i586-pc 在 64 位 MAC (32-bit cross compiler used) 上编译的代码-linux-gcc temp.c输出: 错误:无法在 64 位 ubuntu 上运行

我们正在使用 MAC 交叉编译器,因为我们没有 32 位 linux 机器。

最佳答案

它可能看起来有点奇怪,但它已经开始无处不在了。

作为amdn发表在上面的评论中,这可能是由于缺少某些 32 位库。由于它之前没有工作,我安装了 gcc-multilib 和 Ubuntu 的一些自动更新,它已经开始工作了。

感谢大家的大力帮助。

关于c - 带 -m32 选项的 32 位 gcc 和 64 位 gcc 有什么区别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43604686/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com