LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 9080|回复: 81

用c语言在linux下编译了的文件如何在windows下运行?

[复制链接]
发表于 2005-2-19 11:26:43 | 显示全部楼层 |阅读模式
编了一个程序,经编译能在linux下运行了,不知如何使已经编译的文件在windows 2003下运行?
知道的朋友帮帮忙?
 楼主| 发表于 2005-2-19 11:35:45 | 显示全部楼层

编译后的应该是机器语言!为什么不能在同一部机的其他系统运行?

在windows下如何运行机器语言?
回复 支持 反对

使用道具 举报

发表于 2005-2-19 11:38:53 | 显示全部楼层
需要用Windows下的编译器重新编译。

Linux和Win的可执行文件格式是不一样的。
回复 支持 反对

使用道具 举报

发表于 2005-2-20 02:24:02 | 显示全部楼层
既然有了源代码,重新在win下编译一遍就行了。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2005-2-20 11:59:40 | 显示全部楼层
说来真麻烦!!!装linux就是想用它的编译器,进行c语言编译,以为这样就不用在windows下编译了!况且,各位版主,能不能介绍一下好用的windows的编译器?
回复 支持 反对

使用道具 举报

 楼主| 发表于 2005-2-20 12:07:52 | 显示全部楼层
我想实现的目标是:把用linux下编译的目标代码,作为一个文件复制到windows下,然后就可以运行,这样,就不用在windows或其他系统下再安装什么相应的编译器了。况且,不一定什么系统都能很方便地找到相应的编译器!!对否?!

既然是目标代码,应该不用依赖什么操作系统,直接运行就可以了,请问有没有朋友知道?windows下如何运行机器语言(目标代码)?
回复 支持 反对

使用道具 举报

发表于 2005-2-20 16:38:58 | 显示全部楼层
那我问你一个问题:既然是人说的话,应该不用依赖什么地方的人,直接就能被听懂,请问题你懂多少国的语言?
人发出的声音(音节)是一样的,但因语法的不同,语言也不同。
目标代码是问题也是一样的。就算是同一硬碰硬件,虽然机器指令是一样的,但执行文件对指令的组织是不同的。linux用ELF格式,Windows不是。而且一个很简单的问题就是,库函数都不一样。现在的程序不可能一次编译出完全的机器指令。而是一些调用系统底层函数库的指令。难到Windows底层也用了也有glibc?也用了linux的系统调用?
回复 支持 反对

使用道具 举报

发表于 2005-2-20 19:11:30 | 显示全部楼层
好像windows下有GCC的,不过你的代码要全部用标准库或是能在windows使用的库写了,不能使用linux的系统调用哦.
回复 支持 反对

使用道具 举报

发表于 2005-2-20 21:51:52 | 显示全部楼层
建议楼主好好的补一下计算机基础的课。。。

另 :windows下C++编译器有VC++  VS.NET等等无数东西。。
回复 支持 反对

使用道具 举报

发表于 2005-2-20 22:39:26 | 显示全部楼层
可以交叉编译的。
回复 支持 反对

使用道具 举报

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

本版积分规则

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