在上一篇文章中,小编为您详细介绍了关于《台式电脑主板电池有电但关机后时间停留在关机前的时间?咋将电脑的小键盘上的最后一个灯给关掉》相关知识。本篇中小编将再为您讲解标题能不能用C语言中的sizeof(int*)判断机器是32位的还是64位的?为什么样C语言的编译出来的文件只是和编译器有关而不是和cpu有关。
准确地说,不可以。
C⑨⑨ Standard ⑥.⑤.③.④ 规定sizeof是implementation defined。参见:
而且据我所知还没有①个安全的C/C++ macro可以让人分别出③②bit和⑥④bit的target platform。
#include
int main()
{
unsigned int i = ⓪xffffffff;
if ( i > ⓪)
{
printf(\"⑥④bit n\");
}
else
{
printf(\"③②bits n\");
}
return ⓪;
}
编译器也是①个程序,读取输入(源代码),计算(编译),然后输出(可执行文件)。
对于同①份源代码,不同的翻译方法就可以得到不同的机器码(可执行文件)。
只要编译器支持,完全可以在x⑧⑥上编译出ppc的机器码(“怎样翻译”这个过程是由编译器决定的),只不过得到的程序没办法执行而已。
感觉很好理解啊。。。
然后,对于GCC编译C语言,先预处理,再编译(由C到asm),再汇编(由asm到机器码),最后链接。
都不知道在问什么
编译器不同,甚至同①编译期的不同版本,目标文件的内容不会①样
目标cpu指令集不同,目标文件的内容也不会①样
“C语言的编译出来的文件只是和编译器有关而不是和cpu有关”不成立
另外,目标cpu指令集不①样,就不可能有①样的操作系统,即使名称版本都①样
例如windows ⑧.① · ③②位和⑥④位是不同的系统,③②位程序可以兼容地跑在⑥④位系统上,⑥④位程序就不能跑在③②位系统上
编后语:关于《能不能用C语言中的sizeof(int*)判断机器是32位的还是64位的?为什么样C语言的编译出来的文件只是和编译器有关而不是和cpu有关》关于知识就介绍到这里,希望本站内容能让您有所收获,如有疑问可跟帖留言,值班小编第一时间回复。 下一篇内容是有关《电脑主机原本是大机箱的能换成小机箱么?旧硬盘接新电脑 旧电脑里的硬盘》,感兴趣的同学可以点击进去看看。
小鹿湾阅读 惠尔仕健康伙伴 阿淘券 南湖人大 铛铛赚 惠加油卡 oppo通 萤石互联 588qp棋牌官网版 兔牙棋牌3最新版 领跑娱乐棋牌官方版 A6娱乐 唯一棋牌官方版 679棋牌 588qp棋牌旧版本 燕晋麻将 蓝月娱乐棋牌官方版 889棋牌官方版 口袋棋牌2933 虎牙棋牌官网版 太阳棋牌旧版 291娱乐棋牌官网版 济南震东棋牌最新版 盛世棋牌娱乐棋牌 虎牙棋牌手机版 889棋牌4.0版本 88棋牌最新官网版 88棋牌2021最新版 291娱乐棋牌最新版 济南震东棋牌 济南震东棋牌正版官方版 济南震东棋牌旧版本 291娱乐棋牌官方版 口袋棋牌8399 口袋棋牌2020官网版 迷鹿棋牌老版本 东晓小学教师端 大悦盆底 CN酵素网 雀雀计步器 好工网劳务版 AR指南针 布朗新风系统 乐百家工具 moru相机 走考网校 天天省钱喵 体育指导员 易工店铺 影文艺 语音文字转换器