社区
其它技术问题
帖子详情
Linux和windows下程序产生的机器码是相同的吗??
wuzhiwenk3001
2012-04-24 11:36:59
一直有个疑惑:windows下的pe文件和linux下的elf格式,他们的代码区里面的机器码都是一样的吗(除了一些地址什么的)?
都是IA32下的机器码吗?我记得好像两个操作系统下的空指令NOP就是OX90的,所以我认为同一个C程序,用VC产生的EXE文件,与用GCC产生的a.out,代码区里的机器码都是一样的,我这样理解对吗??
还是是不是基本都是IA32下的机器码??
...全文
537
7
打赏
收藏
Linux和windows下程序产生的机器码是相同的吗??
一直有个疑惑:windows下的pe文件和linux下的elf格式,他们的代码区里面的机器码都是一样的吗(除了一些地址什么的)? 都是IA32下的机器码吗?我记得好像两个操作系统下的空指令NOP就是OX90的,所以我认为同一个C程序,用VC产生的EXE文件,与用GCC产生的a.out,代码区里的机器码都是一样的,我这样理解对吗?? 还是是不是基本都是IA32下的机器码??
复制链接
扫一扫
分享
转发到动态
举报
AI
作业
写回复
配置赞助广告
用AI写文章
7 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
zhc289515966
2012-04-25
打赏
举报
回复
不一样、、、你看一下他们调用函数时堆栈的处理就知道是有细微差别的。。
当然,在同样的硬件上,同样的汇编语句对应的机器码是相同的。。。比如mov $2,%eax与mov eax,2生成的机器码是相同的。、。
好像也跟编译器有关
wuzhiwenk3001
2012-04-25
打赏
举报
回复
我想我理解了
www_adintr_com
2012-04-24
打赏
举报
回复
看你把啥子作为相同的标准了.
它们使用的指令集是相同的. 系统调用方式是不同的, 不同的编译器生成的代码也是不同的.
evencoming
2012-04-24
打赏
举报
回复
pe,elf那是可执行文件格式.
而不是机器指令格式
evencoming
2012-04-24
打赏
举报
回复
[Quote=引用 3 楼 的回复:]
引用 1 楼 的回复:
pe,elf那是可执行文件格式.
而不是机器指令格式
那个我当然清楚,PE,ELF里的.text段里的不正是机器码吗?当然PE和ELF文件组成当然不同拉,但里面的.text段是一样的吧,我想问的就是这个问题
[/Quote]
如果是
非常非常非常简单的代码,同一个编译器版本的话,同样的体系结构cpu等,可能一样.
wuzhiwenk3001
2012-04-24
打赏
举报
回复
[Quote=引用 2 楼 的回复:]
看你把啥子作为相同的标准了.
它们使用的指令集是相同的. 系统调用方式是不同的, 不同的编译器生成的代码也是不同的.
[/Quote]
那最后他们生成的机器码那部分是相同的吗??
wuzhiwenk3001
2012-04-24
打赏
举报
回复
[Quote=引用 1 楼 的回复:]
pe,elf那是可执行文件格式.
而不是机器指令格式
[/Quote]
那个我当然清楚,PE,ELF里的.text段里的不正是机器码吗?当然PE和ELF文件组成当然不同拉,但里面的.text段是一样的吧,我想问的就是这个问题
Windows
中的JDK和
Linux
中的JDK是否
相同
Windows
中的JDK和
Linux
中的JDK是否
相同
? 其实,以上这个问题是一个子问题。原本的问题是:如何理解Java的跨平台机制。由于原问题显得有些宽泛,因此延伸出一个子问题,在本篇博客中争取能够完整地回答。 本文力求...
走近
Linux
世界:
Linux
与
Windows
特性比较
Linux
和
Windows
最大的不同之处在哪里?
Linux
免费,而
Windows
要钱,并且很贵。真的是这样吗? 其实,并不是所有的
Linux
系统都是免费的。并且众多的
Linux
服务器系统还很贵,但相对来说要比采用
Windows
系统的成本要...
在适用于
Linux
的
Windows
子系统(WSL)上运行和调试多平台.NET(.NET Core、.NET5和.NET6)GUI和控制台应用
程序
本文详细介绍了如何使用非常强大的.NET和Avalonia组合以及WSL来调试在
Windows
上的Visual Studio 2022中开发的
Linux
.NET应用
程序
。
java文件如何被编译成
机器码
?JDK,JRE,JVM之间的区别和联系
通俗易懂地掌握java文件被编译成
机器码
的过程,JDK,JRE,JVM之间的区别和联系
从零入门机器学习之
Linux
系统详解
本文是从零入门机器学习的第三篇文章,主要内容是详解
Linux
系统的常用用法,之所以要讲解上述内容,主要是由于在后续学习和工作中都会用到
Linux
系统,除了极个别的情况,都是在
Linux
环境下进行代码开发和环境部署的...
其它技术问题
3,882
社区成员
9,046
社区内容
发帖
与我相关
我的任务
其它技术问题
C/C++ 其它技术问题
复制链接
扫一扫
分享
社区描述
C/C++ 其它技术问题
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章