免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
12345下一页
最近访问板块 发新帖
查看: 15424 | 回复: 43
打印 上一主题 下一主题

能否创建linux 和windows通用的可执行文件 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2008-10-30 22:02 |只看该作者 |倒序浏览
发现除了某些细节
windows 和linux 的C程序代码可以完全一模一样
既然这样,不知道有没有编译器,可以让这样的代码编译得到的可执行文件同时可以在 linux 和windows 上使用??

论坛徽章:
0
2 [报告]
发表于 2008-10-31 00:31 |只看该作者
不能,没有

论坛徽章:
0
3 [报告]
发表于 2008-10-31 10:40 |只看该作者
可能,未必

论坛徽章:
0
4 [报告]
发表于 2008-10-31 10:48 |只看该作者
Win是PE,Linux是ELF,怎么可以?一个文件里集成PE和ELF,然后文件头修改一下?还是像Xilinx的ISE那样干脆提供两套exe?

论坛徽章:
0
5 [报告]
发表于 2008-10-31 12:10 |只看该作者

回复 #1 vfdff 的帖子

与系统调用相比,PE 只是很细小的差别。

论坛徽章:
0
6 [报告]
发表于 2008-10-31 12:25 |只看该作者
同样的思想,写成书,用中文写,老外能看懂吗?也可以写成世界语,有人懂吗?

论坛徽章:
3
2015年迎新春徽章
日期:2015-03-04 09:56:11数据库技术版块每日发帖之星
日期:2016-08-03 06:20:00数据库技术版块每日发帖之星
日期:2016-08-04 06:20:00
7 [报告]
发表于 2008-10-31 14:03 |只看该作者
两套可执行文件算了吧

论坛徽章:
0
8 [报告]
发表于 2008-10-31 17:46 |只看该作者
即使Linux也是运行在X86平台上,它和Windows上的可执行代码尽管都是X86机器码,但是,运行环境不一样,可执行代码的框架就不一样。
可以的。在Linux上,可以搞个C编译器,生成的代码,在Windows上运行,反之亦可。这个叫交叉编译。此时,Linux叫宿主机,Windows叫目标机。在宿主机上编译,在目标机上运行。

论坛徽章:
0
9 [报告]
发表于 2008-10-31 20:50 |只看该作者
可以的,用虚拟机技术,编写一个虚拟机,比如java的class就是跨平台的,linux上也有win虚拟机嘛,很多问题都可以用虚拟机解决。

论坛徽章:
0
10 [报告]
发表于 2008-11-01 20:45 |只看该作者
我认为可以。这个应该跟编译器没有关系,只是可执行文件格式的问题.只要你的程序没有用到操作系统的私有api。只要windwos和linux能互相识别对方的可执行文件的格式就可以了。
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP