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

#include

void main(){

printf("long=%d\n",sizeof(long));

}

gcc_32_bit temp.c和gcc_64_bit -m32 temp.c之间有什么区别吗?

案例测试:

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

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

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

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

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

linux -m32,32位gcc和64位gcc与-m32选项有什么区别?相关推荐

  1. 32位程序和64位程序这些区别你知道吗?

    我们在编写C/C++程序时,32位程序和64位程序的代码有何区别?如何编写既可以编译成32位程序又可以编译成64位程序的代码? 代码上的区别 实际上,对于32位程序和64位程序来说,代码上的区别不大, ...

  2. 转载】将32位代码向64位平台移植的注意事项

    转载]将32位代码向64位平台移植的注意事项 新近的64位平台在二进制上与32位应用程序兼容,这意味着可以非常简单地移植现有的程序.许多目前在32位平台上运行良好的程序也许不必移植,除非程序有以下要求 ...

  3. 网站服务器 64位,如何将win7系统从32位升级到64位_网站服务器运行维护,win7,32位,64位...

    win10如何重置此电脑_网站服务器运行维护 win10重置此电脑的方法是:1.点击[开始]按钮,进入设置:2.进入[更新和安全]选项,点击[恢复]:3.找到[重置此电脑],点击[开始]:4.选择[保 ...

  4. 让32位Eclipse和64位Eclipse同时在64的Windows7上运行

    转自让32位Eclipse和64位Eclipse同时在64的Windows7上运行 参考这篇文章:http://wenku.baidu.com/view/57994c270066f5335a81214 ...

  5. 32位系统和64位系统的说明

    关于32位系统和64位系统说明 我们常说的32位系统和64位系统,是怎么来的呢? 其实这跟cpu硬件是有关的: 32位的处理器,指的是cpu一次能处理的最大位数是32位,也就是如下: 1111 111 ...

  6. 32位机器和64位机器中int、char等数据类型所占字节长度对比

    在32位机器和64机器中int类型都占用4个字节.编译器可以根据自身硬件来选择合适的大小,但是需要满足约束:short和int型至少为16位,long型至少为32位,并且short型长度不能超过int ...

  7. oracle 10g 10.2.0.4 32位升级到64位

    32位升到64位有以下几种方法: 1.copy datafile后运行脚本升级 2.rman restore后运行脚本升级 3.通过exp/imp,expdp/impdp的transfer table ...

  8. 32位机器和64位机器数据类型

    32位机器和64位机器数据类型长度 基本一致 long不一致     32位下4位    64位下8位 long double    32位下12位    64位下16位 数据类型  32位  64位 ...

  9. 【海洋女神原创】installshield 32位打包和64位打包的注意事项

    32/64位问题要把握几点: 1. 明确你的产品是否需要区分32/64位 2. 明确你的产品中是否有32/64位的服务注册 3. 了解InstallShield Build出来的安装包本身是32位应用 ...

  10. 32位系统 和 64位系统 C 程序中 为什么 指针的内存大小的不一样

    以下均为自己猜想: 32位系统是因为有32根地址总线 ,64位系统由64根地址总线 所以从根本上有了32位和64位的系统的根本区别 指针就是地址,所不管什么类型的指针在32位的系统上,就是一个32位的 ...

最新文章

  1. Linux之Vsftpd虚拟用户、扩展应用tcp_wrapper实验总结
  2. 怎样在计算机页面加密,怎么给文件加密并加密后隐藏起来?
  3. 网站的高性能架构--性能测试指标
  4. C#的Timer解析(转)
  5. 大龄屌丝自学笔记--Java零基础到菜鸟--036
  6. mysql 组合查询_MySQL组合查询教程
  7. 信息安全——密码学之DES介绍
  8. 程序员心髓:移动应用API设计10大技巧
  9. Matlab循环语句
  10. 计算机安装系统说明,电脑操作系统安装方法-详细图解说明-简单安装Windows系统...
  11. 灵敏性,特异性,阳性预测值,阴性预测值
  12. 解决eclipse在安装时工作空间出错问题的有效方法
  13. 前端程序员兼职副业平台推荐
  14. Java从入门到高级(第三天)
  15. 编程环境和软件工具安装手册
  16. c语言程序设计指针何钦铭ppt,C语言程序设计 教学课件 作者 何钦铭 c2.ppt
  17. 华为云桌面,一站式云上数字化创作深度解读
  18. java 订单减库存_下单减库存
  19. 获取Mac地址getMacAddress
  20. Python123.io---斐波纳契数列 I

热门文章

  1. 又一款5G旗舰:vivo NEX 3S瞄准高端市场
  2. Js isNaN()和Number.isNaN()、isFinite() 和 Number.isFinite()
  3. Android新闻公告切换效果(上下滚动左右滚动)
  4. 基于wowchemy和hugo搭建个人网站
  5. 使用Quantlib,通过YTM计算债券净值
  6. 详解Flink中yarn部署模式以及测试
  7. 外贸里面 LC TT DP DA BG 是什么
  8. 值得看三次的高干文_七本值得刷10遍的高干文,本本经典,让你一次看过瘾!...
  9. python与医学图像处理_医学图像处理与深度学习(一)
  10. 从零了解进程(操作系统定位,进程的概念,特征,虚拟地址)