
正文
windows代码移植linux,windows换装linux
提示:扫一扫查出行【扫一扫了解最新限行尾号】
复制提示
...软件可以任意移植到其他系统(例如:linux操作系统)中运行么
1、只有兼容的C源码,才能直接移植到其他平台,编译并运行。但是兼容是很难的,因为 windows一开始就没打算和 unix/linux 兼容,所以很多系统接口都不一样,比如进程、线程创建之类的,都完全不一样。
2、java类的程序,需要依赖jvm虚拟运行环境,只有在不同操作系统(各种linux,windows,macos,unix)上安装配套的jvm环境(jsdk包),都可以正常运行。
3、不是 所谓linux的可移植性,是指linux可以安装并运行在CPU构架不同的机器上 每个CPU生产厂商定义的CPU指令集是不同的,因此只能使用专门设计的操作系统。
4、在不重新编译源代码的情况下,x86下linux的软件不可以运行于arm构架的Linux,即使运行也会奇卡。2和在编译是否时为X86的CPU构架优化了编译无关。
5、在Windows中安装Cgwin或minGW软件即可实现linux中程序到Windows中移植。Cygwin是许多自由软件的集合,最初由CygnusSolutions开发,用于各种版本的MicrosoftWindows上,运行UNIX类系统。
6、只要软件支持linux系统就可以。比如你在windows系统下载了一个rpm文件,可以直接拖到Linux虚拟机中安装。
相关问答
Q1: 在windows下,用c标准库开发的程序代码,如何移植到linux下用?_百度知...
按照我的理解有三个意思,1。在windows或mac系统下写的可以正常编译的C源代码,能不能再linux直接编译执行。2,在windows或mac系统下编译好的C程序可以不可以直接拿到linux下执行。
嵌入式开发中,经常需要操作IO,.NET程序就通过P/Invoke来调用一些用比如c/c++一类语言开发的native代码完成IO操作。
目标代码一般都是对应平台的本地代码,不能跨平台(例如.obj和.elf就不能直接混用;Windows和Linux上的可执行文件一般也不互相兼容)。C语言程序跨平台的实现必需编译环境的支持。
进入les1文件(cd les1)。创建一个.c文件:touch a.c。编辑该文件 输入vi a.c 进入该界面 会发现用户不能从键盘输入信息,这时我们需要从键盘按一个i在下面会显示INSERT(表示插入)。然后就可以使用键盘输入代码。
-lxx xx是你的.so文件名 其实使用方法和你使用数学库函数是一样的,源代码中添加 include math.h,编译的时候,加上-lm参数。注:linux下的.so文件为共享库,相当于windows下的dll文件。
Q2: 关于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独有的。
关于windows代码移植linux和windows换装linux的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。







