64ubuntu编译32位程序

今天做实验,64位ubuntu,sizeof指针得到8

想编译成32位程序

百度

需要安装32位库,已经安装了 libc6 libc6-dev

报错fatal error: sys/cdefs.h: No such file or directory

需要

sudo apt-get install libc6-dev-i386

然后再编译

ning@ubuntu:~/Documents$ gcc sizeof.c -m32
sizeof.c: In function ‘main’:
sizeof.c:10:11: warning: format ‘%ld’ expects argument of type ‘long int’, but argument 2 has type ‘unsigned int’ [-Wformat=]printf("sizeof(p)=%ld\n",sizeof(p));^
ning@ubuntu:~/Documents$ gcc sizeof.c -m32
ning@ubuntu:~/Documents$ ./a.out
sizeof(p)=4
ning@ubuntu:~/Documents$ gcc sizeof.c
sizeof.c: In function ‘main’:
sizeof.c:10:11: warning: format ‘%d’ expects argument of type ‘int’, but argument 2 has type ‘long unsigned int’ [-Wformat=]printf("sizeof(p)=%d\n",sizeof(p));


程序运行平台
      不同的平台上对不同数据类型分配的字节数是不同的。
      个人对平台的理解是CPU+OS+Compiler,是因为: 
      1、64位机器也可以装32位系统(x64装XP); 
      2、32位机器上可以有16/32位的编译器(XP上有tc是16位的,其他常见的是32位的); 
      3、即使是32位的编译器也可以弄出64位的integer来(int64)。 
      以上这些是基于常见的wintel平台,加上我们可能很少机会接触的其它平台(其它的CPU和OS),所以个人认为所谓平台的概念是三者的组合。 
      虽然三者的长度可以不一样,但显然相互配合(即长度相等,32位的CPU+32位的OS+32位的Compiler)发挥的能量最大。 
      理论上来讲 我觉得数据类型的字节数应该是由CPU决定的,但是实际上主要由编译器决定(占多少位由编译器在编译期间说了算)。

常用数据类型对应字节数
  可用如sizeof(char),sizeof(char*)等得出

 32位编译器:

      char :1个字节
      char*(即指针变量): 4个字节(32位的寻址空间是2^32, 即32个bit,也就是4个字节。同理64位编译器)
      short int : 2个字节
      int:  4个字节
      unsigned int : 4个字节
      float:  4个字节
      double:   8个字节
      long:   4个字节
      long long:  8个字节
      unsigned long:  4个字节

  64位编译器:

      char :1个字节
      char*(即指针变量): 8个字节
      short int : 2个字节
      int:  4个字节
      unsigned int : 4个字节
      float:  4个字节
      double:   8个字节
      long:   8个字节
      long long:  8个字节
      
unsigned long:  8个字节


本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/243527.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

研究生念了些什么东西?

在这里不知道是不是自己走错了路,或者是没有认识到这种未知的价值,两年时间过去了,付出了什么, 得到了什么?自己在问自己念研究生能学到什么, 短短的两年时间,上课学不到多少有用的,…

信号属性及属性函数

信号属性及属性函数 综合器支持的属性有:LEFT(左)、RIGHT(正确的)、HIGH(高)、LOW(低)、RANGE(范围)、REVERS RANGE()、 LENGTH(长度)、EVENT(事件)及STABLE(稳定的)。 预定义属性描述语句实际上是一个内部预定义函数,其语句格式如下: 属性测试项目名’…

《中国当代乡土小说大系》明年出版

《中国当代乡土小说大系》编审会第一次会议在永安宾馆召开。在京的顾问和编委雷达、白烨、胡平、贺绍竣、阎晶明、白描、施战军、兴安、舒楠,以及著名作家周大新等出席。河北省作家协会主席、著名作家关仁山专程从河北赶来参加会议。该书将由农村读物出版社2010年4月…

《2012》:让灾难成为一场洗礼

■片名:《2012》 ■导演:罗兰艾默里奇 ■主演:约翰库萨克、阿曼达皮特、切瓦特埃加福特 ■发行: 哥伦比亚影片公司 ■上映时间:2009年11月 ■读家:兴安 ■推荐指数★★★★★☆ ■一句话点评:电影的神奇之…

C++ 输出调试信息 类似MFC的TRACE等宏

在MFC程序中有TRACE等一系列的宏可以输出调试信息, 但是其他的地方不能用了, 下面这个小程序测试了怎么输出调试信息,// Test_ErrorCode.cpp : 定义控制台应用程序的入口点。 //#include "stdafx.h" #include <Windows.h> #include <stdio.h> #include &…

QT打开二进制文件(.bin),串口定时发送

本例由《qt开发环境 - 简易二进制文件打开&#xff0c;串口自发自收》更改来。&#xff08;由qt官方terminal demo 修改&#xff09; 实现功能&#xff1a;打开.bin文件&#xff0c;显示文件内容 通过串口按固定字节大小发送文件 显示串口收到的内容 下面是源代码&#xff1a…

VHDL操作符

VHDL操作符 省略操作符 一般的&#xff0c;为了简化表达和位数不定情况下的赋值&#xff0c;可使用短语&#xff08;OTHERS > X&#xff09;, 这是一个省略赋值操作符&#xff0c;它可以在较多位的位矢量赋值中做省略化的赋值&#xff0c;如有&#xff1a;SIGNAL d1 :STD_…

深圳当代艺术家的一次聚会

在深圳创意园的雅库酒吧参加了一次当代艺术家酒会。注意看两个舞者的鞋子。女的高跟鞋的粉红很别致好看&#xff0c;而那位仁兄的红色拖鞋&#xff0c;还有两截的裤子以及腰间的包包——哈。 现场。背景映出的交织纠葛的锁链&#xff0c;很有意味。 “革命女性的幸福高于一切”…

关于STM32的IAP与APP互相跳转

关于STM32的IAP与APP互相跳转 之前做了一个不带系统的IAP与APP互相跳转&#xff0c;在网上找了资料后&#xff0c;很顺畅就完成了&#xff0c;后来在IAR集成开发环境下&#xff0c;IAP无系统&#xff0c;APP用UCOS系统做互相跳转出现了很多问题。现将IAP学习过程和实际遇到问题…

进程中的信号赋值与变量赋值

进程中的信号赋值与变量赋值 比较对象信号SIGNAL变量VARIABLE基本用法用于作为电路的信号连线用于作为进程中局部数据存储单元适用范围在整个结构体内的任何地方都能适用只能在所定义的进程中使用行为特性在进程的最后才对信号赋值,有延时立即赋值,无延时与Verilog对比信号赋…

不安和怀疑,美丽而又危险:看两位80后女艺术家的展览

“由喻红策划”是北京尤伦斯艺术中心“由……策划”系列展览计划之一。策展人喻红是中央美术学院油画工作室的教授&#xff0c;是目前最著名的新生代女艺术家之一。本次参展的是两位1984和1986年出生的北京女艺术家潘琳和苑瑗&#xff0c;展览名称——物非物。 展览突出了两位艺…

win32程序测试键盘钩子

// Test_Hook.cpp : 定义控制台应用程序的入口点。 //#include "stdafx.h" #include <Windows.h> #include <stdio.h> #include <stdarg.h> #include <ctype.h> #include <WinError.h>// Some global variables HINSTANCE g_Instance;…

SOA的未解之谜

虽然围绕着SOA有数以千计的出版物、提供商和分析师的吹嘘&#xff0c;以及SOA曾被宣布死亡然后又在SOA宣言中重生的事实&#xff0c;但是该话题周围仍然存在许多疑团。McKendrick在他最新的一篇博文对此进行了讨论。\u0026#xD;\nSOA与云计算之间的区别&#xff1f;David Linthi…

状态机设计技术

状态机设计技术 就理论而言,任何时序模型都可以归结为一个状态机。 状态机的优势 (1)高效的过程控制模型。 (2)容易利用现成的EDA工具进行优化设计。 (3)系统性稳定。 (4)高速性能。 (5)高可靠性能。 VHDL状态机的一般结构 从信号输出方式分,有Mealy和Moore型两…

Linux文件系统目录结构

进入Linux根目录&#xff08;即“/”&#xff0c;Linux文件系统的入口&#xff0c;也是处于最高一级的目录&#xff09;&#xff0c;运行“ls–l”命令&#xff0c;看到Linux包含以下目录。1./bin包含基本命令&#xff0c;如ls、cp、mkdir等&#xff0c;这个目录中的文件都是可…

藉上帝之旨,行时代之命的文学长征

——张炜长篇小说《你在高原》阅读笔记 阅读张炜的小说我从来没有过陌生感&#xff0c;这种感觉正如卡尔维诺对经典作品的比喻。他说&#xff1a;“一部经典作品是一本即使初读也好像是在重温的书。”我读张炜的作品就是这种感受&#xff0c;舒展的过程如同一场对往事前尘的追忆…

SSE指令集

SSE指令集的介绍网上一大堆, 这里贴一个用VS2008环境下的SSE测试程序, 分别用C代码, C内联汇编, C的SSE Intrinsics三种方式计算卷积的程序...这是一个win32控制台程序..... 程序下载地址 : http://download.csdn.net/detail/hemmingway/4598506 主文件的代码一览: // Test_SSE…

书评“世界杯”

昨天晚上&#xff0c;手捧《哈扎尔词典》的米洛拉德帕维奇以1比0敲碎了君特格拉斯的《铁皮鼓》&#xff1b;斯拉沃热齐泽克拎着《伊拉克&#xff1a;借来的壶》2比2浇灭了贝侯赛因奥巴马的《我父亲的梦想》和他《无畏的希望》。 今天早上&#xff0c;0比0&#xff0c;史蒂文杰拉…

VHDL仿真流程

VHDL仿真流程 VHDL测试平台Test Bench的主要功能有4种 例化待验证的模块实体通过VHDL程序的行为描述,为待测模块实体提供激励信号收集待测模块实体的输出结果,必要时将该结果与预置的所期望的理想结果进行比较,并给出报告根据比较结果自动判断模块的内部功能结构是否正确简…

实现ftoa与itoa

/********************************************************************************************* Name : 浮点型转字符* Brief : none* Input : str:字符串指针 num:浮点数 n:精度* Output : none* Return : none***************************************************…