QQ登录

只需一步,快速开始

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 778|回复: 4

win下的和linux下的二进制有何不同?

[复制链接]
发表于 2003-7-14 13:46:14 | 显示全部楼层 |阅读模式
把同一源码(用标准C写)用vc在win下编译,用gcc在linux下编译,成为二进制的机器码,为什么一个只能在win上运行,而一个只能在linux上运行?它们不都是机器码吗?
发表于 2003-7-14 16:36:21 | 显示全部楼层
请求了大量的中断(系统调用)是不相同的 而且编译出来的二进制文件格式也是完全不同的
回复

使用道具 举报

 楼主| 发表于 2003-7-15 09:39:15 | 显示全部楼层
系统中断是不是和内核有关?不同内核定义的系统中断也不同,是不是这样?比如dos有int 21的中断,而linux下相同功能的中断就不是int 21,是这样吗?
回复

使用道具 举报

发表于 2003-7-15 09:50:28 | 显示全部楼层
中断入口不一样(有可能 没看过linux的)跳转表也肯定不一样 外面调用的库也肯定不一样
回复

使用道具 举报

发表于 2003-7-15 12:42:31 | 显示全部楼层
可执行文件格式也不一样啊,exe vs elf
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

GMT+8, 2024-11-15 11:16 , Processed in 0.061602 second(s), 16 queries .

© 2021 Powered by Discuz! X3.5.

快速回复 返回顶部 返回列表