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

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

发布时间: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是微软中间码。

阅读全文

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

热点内容
Linux目录inode 浏览:142
手机上如何用文件夹发邮件 浏览:424
畅课app密码忘了怎么找回 浏览:75
怎么编译idea 浏览:229
如何查看服务器是否做了热备 浏览:999
硬盘同名文件夹病毒 浏览:727
百度云不解压下载 浏览:560
新冠疫情app怎么用 浏览:971
拆二代程序员 浏览:398
河北压缩空气冷干机生产厂家 浏览:580
图论与java 浏览:577
程序员写代码告白初音 浏览:740
sshpdf 浏览:539
windows调用linux 浏览:594
如何查找本地服务器名称 浏览:819
linux文件只读属性 浏览:586
VNAS技术加密 浏览:131
python编程电话费计算话费 浏览:463
c编译文件怎么改名 浏览:626
pdf转格式软件 浏览:875