当前位置:首页 » 编程软件 » 跨平台多语言编译器

跨平台多语言编译器

发布时间: 2022-07-21 04:07:13

⑴ 问下现在比较流行的跨平台编程语言都有哪些

实现的机制不同。
JAVA是基于JVM虚拟机的,JAVA代码被解释为字节码提供给JVM运行,JVM再根据字节码调用系统接口,所以它的跨平台要点是实现能运行在各个平台上的JVM。

其他的跨平台的高级语言是通过编译器实现的。
例如:DELPHI7的源码中有针对MS和LINUX平台的条件编译,在预编译的时候根据具体平台选择编译源代码的一部分。所以在LINUX平台下编译DELPHI源码就会得到KYLIX,在MS平台下编译就得到DELPHI。

上边说的是OS层面的跨平台,还有CPU体系的跨平台
比如,GCC支持编译生成多种处理器下的二进制代码。在编译的时候通过选择相应的处理器类型和恰当的库文件就可以生成不同体系下的比如X86,IA64,ARM或MIPS等的可执行文件

c语言是如何跨平台的

c语言能跨平台主要因为各个平台包括DOS,Windows,Linux,UNIX等都有c编译器,只要源代码相同,编译器编译出来的二进制文件就会实现相同的功能(不包括跨平台的系统调用)。但是这些二进制文件不一样,Linux中的可执行文件一般情况下都不能在Windows中运行,因为他们是两个完全不同的操作系统,有不同的内核,不同的系统调用。但编译器会根据不同的平台生成不同的代码,使二进制文件能在专有的平台中运行,并且实现相同的功能。

跨硬件平台也是类似,在各种平台上,如x86,x86_64,Sparc,ppc,Motorola等都有相应的编译器。编译器会把相同的c语言代码编译成不同的机器指令,这样就可以实现跨平台了。

总而言之,跨平台主要是靠各个平台上的编译器。

⑶ 搞不懂:如果C++在每个平台都有编译器,不就想JAVA一样成了跨平台的了吗

C++之父评论C++与Java

如果人们非要拿C++和Java来作比较,我建议他们去阅读The Design and Evolution of C++,看看C++为什么是今天这个样子,用我在设计C++时遵从的原则来检验这两种语言。这些原则与SUN的Java开发小组所持的理念显然是不同的。除了表面语法的相似性之外,C++与Java是截然不同的语言。在很多方面,Java更像Smalltalk。(Sun的培训教材清楚地写道:Java在设计上采用了与C++相似的语法,与Smalltalk相似的语义。所以可以说Java与C++是貌合神离,与Smalltalk才是心有灵犀。)Java语言相对简单,这部分是一种错觉,部分是因为这种语言还不完整。随着时间的推移,Java在体积和复杂程度上都会大大增长。在体积上它会增长两到三倍,而且会出现一些实现相关的扩展或者库。这是一条每个成功的商业语言都必须走过的发展之路。随便分析一种你认为在很大范围内取得了成功的语言,我知道肯定是无有例外者,而且实际上这非常有道理。

上边这段话是在Java 1.1推出之前写的。我确信Java需要类似模板的机制,并且需要增强对于固有类型的支持。简单地说,就是为了基本的完整性也应该做这些工作。另外还需要做很多小的改动,大部分是扩展。1998年秋,我从James Gosling(Java语言的创始人)那里得到一份建议书,说是要在Java中增加固有类型、操作符重载以及数学计算支持。

还有一篇论文,是数学分析领域的世界级大师,伯克利大学的W. Kahan教授所写的How Java's Floating-Point Hurts Everyone Everywhere(且看Java的浮点运算如何危害了普天下的芸芸众生),揭露了Java的一些秘密。我发现在电视和出版物中关于Java的鼓吹是不准确的,而且气势汹汹,让人讨厌。大肆叫嚣凡是非Java的代码都是垃圾,这是对程序员的侮辱;建议把所有的保留代码都用Java重写,这是丧心病狂,既不现实也不负责任。Sun和他的追随者似乎觉得为了对付微软罪恶的“帝国时代”,就必须如此自吹自擂。但是侮辱和欺诈只会把那些喜欢使用不同编程语言的程序员逼到微软阵营里去。

Java并非平台无关,它本身就是平台。跟Windows一样,它也是一个专有的商业平台。也就是说,你可以为Windows/Intel编写代码,也可以为Java/JVM编写代码,在任何一种情况下,你都是在为一个属于某个公司的平台写代码,这些代码都是与该公司的商业利益扯在一起的。当然你可以使用任何一种语言,结合操作系统的机制来编写可供JVM执行的程序,但是JVM之类的东西是强烈地偏向于Java语言的。它一点也不像是通用的、公平的、语言中立的VM/OS。私下里,我会坚持使用可移植的C++作大部分工作,用不同的语言作余下的工作。

“Java is not platform-independent, it is the platform”,B. S的这句评语对于C++用户有着很大的影响,有些C++高手甚至把这句话作为自己的签名档,以表明对Java的态度和誓死捍卫C++的决心。

⑷ 计算机编程现在有什么跨平台的软件开发工具

1. PhoneGap
它能提供一个很好的应用程序开发机制,开源并支持黑莓、Android、iOS、Symbian等7种操作系统。该平台开发使用JavaScript和HTML5等Web编程语言,简单易用,因此开发成本非常低。
2. WidgetPad
它支持使用HTML5、JavaScript和CSS3编写最新的智能设备应用程序。这个工具的显着特点是,它配备了源代码编辑、协作、调试和版本区分阵列。开发者可利用它为Android、iOS和webOS等很多不同的操作系统开发不同应用。
3. RhoMobile
这是一款深受开发人员欢迎的、可创建智能手机“本机应用程序”的跨平台开发工具。它为开发者提供了一个良好的开发环境,其开源的Rhodes编程框架,可让开发者只用HTML和Ruby就能开发Android、RIM、Windows Mobile、iPhone和Symbian等各种平台上的应用。
4. Sencha Touch
使用该工具,可基于同一个用户界面开发黑莓、Android、Windows和iOS等系统应用程序。它为同一个域中的其他工具设置了统一的网络标准。此外,它提供的增强触摸事件和数据集成能力,也是软件的亮点之一。
5. Appcelerator Titanium
这是一款全球公认的优秀跨平台开发工具,支持使用HTML、JavaScript等语言开发,同时也支持Ruby、PHP和Python。这款工具的最大吸引力在于,由于是基于硬件的开发,开发过程中所创建的应用程序可选择存储在设备上或者云端。

⑸ c语言为什么能跨平台或是如何跨平台的

c语言能跨平台是因为各个平台有相应的c编译器,只要源代码相同,编译器编译出来的二进制文件就会实现相同的功能,但是这些二进制文件本身是不一样的

exe就是2进制的,但不完全是原来程序的代码,还包括了windows系统的一些代码

科普一下,C最早是出现在Unix下的,Windows那都是后话了,C出现的时候Windows还没开发出来呢。
C有个比较特别的称呼,叫中级语言,因为它有高级语言的特性又能跟底层硬件很好的交互所以才有这么个说法。DOS时代在C里面嵌上一段汇编直接从并口读个数上来那是很流行的,现在没见谁在VC里面这么干吧。Windows也不让啊。想访问硬件怎么也得通过驱动。
说远了,C在多种平台下可以实现代码级的共享,跨平台就需要重新编译了。
但是,我也见过有的软件是可以在多种平台上运行了,可能有什么特别的技术,可以先识别一下操作系统,再运行相应的代码。这个应该是在编译的时候有特殊的技巧。
C编译、连接器网上有现成的代码,一般不是很专业的技术人员没有去研究它。我一直把玩编译原理的视为天人,有能力把编译原理那本书看完的就很不容易了,再要能领会其中精要那就成才了,能把龙书虎书鲸书都搞明白的那就是一流专家了。

⑹ 那种编辑器可以直接编译多种语言,并且可以直接运行它!

没有这样的编译器。编译器都是针对某种语言设计的,不可能同时针对多种语言。但是,像现在的集成开发环境,比如vs,可以支持集中语言的编译。但是,在 编译时,内部还是要调用不同的编译程序的。

⑺ 哪个C++编译器是跨平台的

C++编译器没有跨平台, 因为编译生成的可执行程序或者库文件是和操作系统相关的。 windows下一般是使用Visual Studio编译器; Linux下用gcc编译。
不含调用系统API的C/C++代码 才可以在多平台下编译

⑻ 计算机语言中编译性语言不能跨平台,那是不是想跨平台的话要重新写源代码,还是换一个编译器

得看情况,如果是通用的程序,重新编译就行。如果有调用API等,就要看情况改源代码了。

⑼ 为什么说c语言是跨平台语言,不就是编译器吗

C语言---是标准,定义了一些条条框框,文字上的东西如C89,C99如ISO/IEC
C99
编译器是根据这些条条框框来做的,不能违反(但也不是那么特别死要求的),对于它来说,标准就好像是法律。
说到跨平台,并不是讲每一个WIN下的可编译正确运行的C代码,就能100%放到LINUX或*bsd下运行的,据我的一点经验,写代码人是否按照标准规范写的,用的非标准库函数是否在WIN及UNIX平台下都能正常,都有限制的

⑽ qt 跨平台 选哪个编译器

Qt 跨平台可以选 MSVC 和 MinGW 两个编译器。
MinGW 比较方便,配置易上手,但是 WebEngine 是没有的。 MSVC 也不错,功能强大,包括了WebEngine 模块。 如果项目使用到的一些第三方的 lib,或者 dll,使用 MSVC 编译出来的,那么推荐用 MSVC(应该是必须,不同的编译器生产出的库一般是不兼容的或者兼容效果差)。

热点内容
金蝶修改服务器地址 发布:2025-02-07 00:41:08 浏览:866
安卓手机版的蒸汽平台在哪里下载 发布:2025-02-07 00:29:04 浏览:453
php自学中心 发布:2025-02-07 00:28:50 浏览:269
手机卡在哪里设置密码 发布:2025-02-07 00:21:25 浏览:706
解压哄睡音频 发布:2025-02-07 00:19:56 浏览:158
数据库系统第六版答案 发布:2025-02-07 00:06:10 浏览:970
fut加密毛发怎么样 发布:2025-02-07 00:06:01 浏览:868
java三目表达式 发布:2025-02-06 23:58:41 浏览:741
android开启wifi 发布:2025-02-06 23:50:08 浏览:496
腾讯云服务器是不是只有c盘 发布:2025-02-06 23:50:03 浏览:473