
正文
windows程序移植linux,windows程序移植
提示:扫一扫查出行【扫一扫了解最新限行尾号】
复制提示
...软件可以任意移植到其他系统(例如:linux操作系统)中运行么
只有兼容的C源码,才能直接移植到其他平台,编译并运行。但是兼容是很难的,因为 windows一开始就没打算和 unix/linux 兼容,所以很多系统接口都不一样,比如进程、线程创建之类的,都完全不一样。
java类的程序,需要依赖jvm虚拟运行环境,只有在不同操作系统(各种linux,windows,macos,unix)上安装配套的jvm环境(jsdk包),都可以正常运行。
不是 所谓linux的可移植性,是指linux可以安装并运行在CPU构架不同的机器上 每个CPU生产厂商定义的CPU指令集是不同的,因此只能使用专门设计的操作系统。
在不重新编译源代码的情况下,x86下linux的软件不可以运行于arm构架的Linux,即使运行也会奇卡。2和在编译是否时为X86的CPU构架优化了编译无关。
相关问答
Q1: 如果在WIN下把程序变成汇编语言在linux下重新编译能实现移植吗?
1、每种CPU,都有自己的机器语言,所以汇编不能移植。C语言,并不直接控制硬件。在不同的机器上,有相应的编译软件,可以把C,编译成自己系统的机器语言。容易移植的关键:C语言是不直接控制硬件的。
2、只有兼容的C源码,才能直接移植到其他平台,编译并运行。但是兼容是很难的,因为 windows一开始就没打算和 unix/linux 兼容,所以很多系统接口都不一样,比如进程、线程创建之类的,都完全不一样。
3、方法一:如何实现在Windows7下编写Linux程序,写完程序以后,不用拷贝文件,直接在Linux(RHEL5)机器上编译最新的代码。
Q2: 如何把程序从windows平台移植到linux平台
1、大致意思就是说,第一种方式:在Linux下可以把windows服务改造成一个控制台程序来运行。第二种方式:用mono-service来运行windows的服务程序。前提是你这个程序是有.net写成的。
2、java本身就是跨平台的语言,只需要在linux上安装linux的java虚拟机,然后编译在windows上写的源代码,然后调用运行即可。
3、首先得是两个系统之间都能用的库才行,移植过去最好的方法就是源代码过去再编译一次。C/C++就是一次编写,处处编译。不像Java是一次编译,处处运行。C/C++没有自己的运行环境,得基于操作系统的底层,所以要编译过才行。
4、使用rz和sz命令:rz是从linux端接收windows数据,sz是linux端发送数据到windows端;rz和sz使用ZModem协议进行文件传输。有点是操作简单。在windows下使用winscp进行数据上传。
5、windows里的文件复制到Linux系统里,可以用XFTP进行远程传输,也可以在XSHELL远程工具里登录linux系统,在linux系统里使用命令上传文件。
Q3: 怎么把windows上安装好的项目放到linux上?
进入目录运行安装脚本./install……一路回车后,如果提示重启系统,则重启。之后查看是否有/mnt/hgfs目录,如果有责说明VMware Tools安装成功。
XFTP方式:下载安装XFTP后,建立到linux的连接,登录linux系统;左侧是windows的文件,右侧是linux的文件夹。相互拖拽即可实现文件传输。
打开vmware虚拟机,点击“虚拟机”,下拉菜单中选择“安装vmware工具”。此时,Linux系统中光盘镜像显示Vmare Tools,打开后,在vmware tools压缩包上右键“解压缩”。
如果使用vmware虚拟安装的linux系统,可以通过安装vmware tools来实现从windows系统拖放文件到Linux系统。打开vmware虚拟机,点击“虚拟机”,下拉菜单中选择“安装vmware工具”。
Q4: 关于windows下C++程序移植到linux下的一些头文件对应问题
1、必须要封装osa适配层了,两者有些API有差异,靠单纯的换头文件搞不定。比如你想同时在linux和windows上使用stat这个函数,同样是包含#includesys/stat.h,但是stat的结构体根本就不一样。
2、linux和windows平台下,能够对应的头文件就是符合C11标准的头文件。其他的头文件不仅和平台有关系,还和平台下的编译环境有关,很难画上等号的。
3、其实只需要将windows.h和basetypes.h中对这些数据进行定义的语句复制到一个头文件中,再在linux下包括进来就行了。 关键字 关键字是比较好处理的东西,凡是VC中带两个下划线的关键字,比方__asm都是VC独有的。
4、只有兼容的C源码,才能直接移植到其他平台,编译并运行。但是兼容是很难的,因为 windows一开始就没打算和 unix/linux 兼容,所以很多系统接口都不一样,比如进程、线程创建之类的,都完全不一样。
windows程序移植linux的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于windows程序移植、windows程序移植linux的信息别忘了在本站进行查找喔。







