导航:首页 > 源码编译 > 编译一份文件在不同平台运行

编译一份文件在不同平台运行

发布时间:2023-02-05 23:29:15

1. java语言是如何做到可移植性强、跨平台、“一次编译到处运行”的呢

因为java代码是运行在JVM上的,不同的平台有不同的JVM,如Windows和Mac上的运行同一款游戏,他们的实现方式肯定不一样,但你都能读取游戏的存档文件。你不需要知道JVM在不同平台的实现方式,但他们解析java的class文件是一样的逻辑,就是这样java实现跨平台的。

2. 用visual c 编出的程序如何在别的电脑上运行

使用visual c是微软公司退出的c/c++语言编译软件,因此它所编译出来的程序是微软的exe运行格式。这种格式不能再除了windows以外的任何平台运行。当然,其他操作系统可以通过运行虚拟机来支持这种软件。
一般情况下,windows开发的软件只能在windows上运行。这是因为windows内置大量专用api,这些api在其他的操作系统上不存在,因此不能运行。

但是,对于没有使用windows api的代码可以通过在其他操作系统上的编译软件来运行。比如linux上的gcc编译器,就能实现编译。
下面是具体操作过程:
以着名的hello world程序为例,在linux的终端页面输入gcc -c hello.c(hello.c是你的代码文件,当然目录需要对),接着会生成hello.o的一个文件,接下来在终端输入gcc -0 hello hello.o即可编译成可执行文件。
同样,以上编译的软件只能在linux平台运行,需要跨平台的软件是需要多个语言的。企图一份代码通吃全平台是不现实的。
另附,在其他操作系统上的编译软件和语言
名称 系统 语言
gcc linux c类
dev c++ windows c/c++
vs windows 几乎所有语言
vc windows c/c++
free pascal windows/linux pascal
laser linux/windows pascal
delphi windows/linux pascal
xcode mac os object c/swift

3. 怎么把同一个代码编译成不同操作系统下可运行的程序

汇编不行的。Windows下面的汇编是intel风格的,而linux的汇编是AT&T风格的,不一样。实际上,汇编的移植性是非常差的。

这个和编译器有关,而且还和你的代码的编写语言有关。一般来说,C语言移植性较好。Windows上运行的程序一般都会调用windows下的API、DLL等,所以推荐选择Windows下的编译器,比如说visual studio,turbo c等。linux下面也是这样的啊,你用gcc编译吧。
32位和64位。gcc有个-m64选项,用了这个选项就可以编出64位的程序。当然你还需要64位的系统库。Windows下面也有相应的64位程序编译器。
在这里要说明的是:如果本机是32位的,那么编译32位程序叫本机编译,如果用32位机器编译64位程序或者用64位机器编译32位程序,那么很明显编译好的程序不能在本机运行(最多是兼容运行),这种编译方式叫做交叉编译。

兄弟,建议你多看看编译器、交叉编译方面的材料。相信会有很大帮助的。

4. 同样的汇编器,在不同的操作系统上可以运行吗同样的高级语言编译器,可以在不同的操作系统上运行吗

1.如果汇编器本身就可以自己进行引导启动、文件管理器了。不需要操作系统也可以。
2.“同样的汇编器”?如果指同一个可执行文件,不可以。

编程语言不受操作系统的限制。都可以编译成对应操作系统的程序。

但对应平台的程序不可以在其他平台上运行。

5. 用java编写的程序,可以在各种平台上运行的扩展名是什么

一个一个按你的步骤给你说:
1,java可以编写成.exe,虽然是exe文件,但是不代表是windows可执行文件,尽管扩展名一样
2,可以打包成jar,需要有jdk支持,通过JVM运行,这个才是java真正的运行包。
3,.java是java程序的源代码文件
4,.class不是类的扩展名,JVM并不能直接运行java源文件,需要通过javac将java源文件编译成字节码文件,也就是.class文件,JVM在运行某个类的时候,通过加载指定该.class文件就可以,因为class文件名与类名相同,但是不能理解他俩是一回事,运行的是类,不是文件。
jar转换成exe的过程其实是没有必要的,因为要运行java程序必须有JVM,它所转换的exe和C++写出来程序的exe有区别的。不是同一个扩展名文件里面东西就一样。好比cmd里是可执行文件,但是C#编写出来的exe是微软中间码。

阅读全文

与编译一份文件在不同平台运行相关的资料

热点内容
程序员放弃后会怎样 浏览:182
河北模具编程 浏览:187
adb查找命令 浏览:321
安卓手机视频文件夹怎么打开 浏览:309
平板加密手机后怎么关闭 浏览:567
流媒体服务器应该注意什么 浏览:536
d8命令编译 浏览:964
压缩包解压需要多少空间 浏览:145
如何查找app属性 浏览:388
android人脸识别技术 浏览:322
pc104编程 浏览:335
二维码反编译破解推广 浏览:682
修改服务器的mac地址 浏览:528
好玩的编程软件 浏览:899
编程语言创始人有钱吗 浏览:804
短视频app怎么获客 浏览:15
查看云服务器的应用 浏览:436
javadump工具 浏览:565
程序员16g 浏览:445
程序员没有办法成为top怎么办 浏览:218