`
grandry
  • 浏览: 9421 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

跨平台含义

阅读更多

一直不理解所谓的跨平台是啥意思,百度下,这是非常清晰的解释。

 

跨平台泛指程序语言、软件或硬件设备可以在多种作业系统或不同硬件架构的电脑上运作。
  广义面言,一般的计算语言都可做到跨平台,开发商只需要提供各种平台下的Runtime/中间件环境即可。严格而言是指用某种计算机语言编制的程序只需要做小量的修改,编译之後即可在另外一种平台下运行,此时并不提供Runtime/中间件环境。例如Java是一种提供Runtime环境的跨平台解决方案,而C而是一种标准且严格的跨平台语言。
  跨平台概念是软件开发中一个重要的概念,即不依赖于操作系统,也不信赖硬件环境。一个操作系统下开发的应用,放到另一个操作系统下依然可以运行。相对而言如果某种计算机语言不用修改代码即可做到高度跨平台
,那麼此语言就越抽象,硬件控制力就越低,只适合开发高度抽象的模型系统。诸如java,delphi和易语言,都已做到了跨平台。它们将可以在多种系统下开发,运行和维护。
  大部分电脑语言从绝对意义而言,都是跨平台的:因为都是以高级的、人类可读的方式来对CPU发号指令,这样也就没必要依赖於任何作业系统。但如果要用系统的部件工具箱,来新建用户图形界面(GUI),就可能会用到开发员特定系统中的API函数或库类。虽然C++是跨平台的,但Windows下用到Win32 API的C++程式,一般就不能在Unix机器上编译。不同编译器对语言规范的解释也有所差异。这样的话,在针对不同系统进行构建之前,程式就得加以考虑。
  一些如Java这样的语言,从一开始就意识到要在各个平台下运行,所以跨平台在其平台的本地语言环境中已经实现。例如,Java可以跨平台使用,正是由於Swing库在许多平台下的实现。类似的,能进行跨平台的文件存取,是因为有各自平台下文件存取的库。以此类推,各种跨平台问题,都需要各自的本地库来解决。wxWidgets框架就是这样的一个跨平台库,根据不同的跨平台问题,提供了许多不同的解决方案;类似的库有许多,可以根据不同语言的跨平台开发,而采用相应的库。
  针对每种作业系统、CPU,而提供并测试各自的编译版本,这种做法的可行性很小;开源软体则允许用户自己来编译目的码(object code),这样在跨平台方面更好一些。类似的,那些解释型语言,或者需要虚拟机的语言,也更加符合跨平台的要求,因为用户也要自己进行编译。Sun公司的Java虚拟机Hotspot,只针对几种而不是全部平台,提供编译好的二进位文件。例如,Sun对於GNU/Linux,只支持i386平台,但如果谁在PowerPC或者SPARC电脑上运行Linux,就只好自己编译本地的机器码(machinecode),或者使用第三方软体,才能运行Java程式。
  许多API(应用程式介面)依赖於平台。OpenGL可以看作是跨平台的,因为其不依赖於任何特定的作业系统、CPU构架或者某个牌子的图形设备。特定平台的API可以在其他系统上作为兼容层而新建,例如WINE的库,Windows程式就可以在UNIX系统上运行。
  另外许多程式语言还有跨平台的扩展以及中间件,这样程式设计师对於同样的原始码,只要进行一点小修改,就可以在不同平台下编译/运行,例如Qt和wxWidgets。

支持多种作业系统的软体

1. 资料库管理系统(DBMS):

MySQL:Solaris、Linux、Windows、FreeBSD 
Oracle:Solaris、Linux、Windows 
2. 网站伺服器、应用程式伺服器:

Apache:Solaris、Linux、Windows、FreeBSD 
Tomcat:Linux、Windows、FreeBSD 
3. 网际网路浏览器:

Mozilla Firefox:Linux、FreeBSD、Solaris、AIX、Windows、 

可在不同作业系统上进行软体开发的程式语言

C语言、C++、Java 
Perl、Tcl、Erlang 
Python、Delphi+Kylix、REALbasic

分享到:
评论

相关推荐

    SOAP:XML跨平台Web Service开发技术

    根据提供的信息,我们可以推断出这部分内容与算盘的工作原理及其使用方法有关,并非直接讨论SOAP(简单对象访问协议)及XML跨平台Web服务开发技术。然而,由于明确要求生成的知识点应围绕标题和描述中的内容,即SOAP...

    twain-dsm 跨平台源码

    【标题】"Twain-DSM 跨平台源码"涉及的是一个开源的图像采集解决方案,主要用于实现设备扫描功能,并且可以在多种操作系统上运行。这个标题揭示了它是一个与图像扫描相关的软件开发套件(SDK),并且具有跨平台兼容...

    wxwidgets_跨平台程序开发

    标题与描述:“wxwidgets_跨平台程序开发” wxWidgets是一种跨平台的C++图形用户界面(GUI)工具包,它允许开发者创建具有本地外观和感觉的应用程序,而无需修改代码即可在多个操作系统上运行。这一特性使得...

    跨平台企业项目实战笔记

    首先,我们要理解跨平台的含义。它指的是软件或系统能够在不同的操作系统上运行,如Windows、Linux、Mac OS等。对于企业项目来说,这意味着开发团队可以使用他们熟悉的工作环境,同时确保应用能在目标平台上正常工作...

    基于三维研制模式的设计模型跨平台转换技术.pdf

    在讨论基于三维研制模式的设计模型跨平台转换技术时,我们首先要了解三维研制模式的含义及其在产品开发中的重要性。三维研制模式是指在整个产品开发周期中,从概念设计、详细设计、工艺规划到生产制造等环节都使用三...

    Java程序设计课后练习答案

    - **跨平台含义**: Java的跨平台特性意味着Java程序可以在任何安装了Java虚拟机 (JVM) 的操作系统上运行,无需对源代码做任何更改。 - **实现原理**: - Java程序被编译成字节码(一种中间语言),而不是特定平台的...

    Java程序的设计课后练习答案.docx

    1. **Java的跨平台含义及其原因** - **含义**:Java语言具有平台无关性,即编写的Java应用程序可以在不同的操作系统平台上运行,无需对源代码进行修改。 - **原因**:这主要得益于Java虚拟机(JVM)的存在。Java程序...

    行业分类-设备装置-跨平台物联网嵌入式系统的通信方法及通信系统.zip

    首先,我们要理解“跨平台”在物联网中的含义。这意味着不同的硬件设备、操作系统和网络环境之间能够无缝通信。这包括了运行Android、iOS、Windows、Linux等不同操作系统的设备,以及使用蓝牙、Wi-Fi、Zigbee、LoRa...

    行业分类-设备装置-分布式跨平台用户界面和应用投影.zip

    分布式跨平台用户界面和应用投影技术是现代信息技术领域的一个重要组成部分,尤其在设备装置的行业中,这种技术的应用越来越广泛。这一技术的核心目标是提供一种统一的、能够在多种操作系统上运行的用户界面,使得...

    支持MACos、windows、Linux、Android、IOS的跨平台CHA工具Tgpt.txt

    值得注意的是,这里提到的“CHA”可能是指“跨平台”(Cross-platform)的缩写,但由于信息量有限,我们无法确定具体含义,因此接下来的讨论将基于已有的信息展开。 #### 二、移动安全基础概念 移动安全是保护移动...

    跨平台文本编辑器 对于写代码之类的非常好 对于16进制编辑也非常的好

    首先,让我们详细了解一下跨平台的含义。跨平台意味着这款编辑器可以在不同的操作系统上运行,包括但不限于Windows、macOS和Linux。这样的设计使得用户可以在不同的工作环境下无缝切换,而无需担心软件兼容性问题。...

    应用源码跨平台的音视频解决方案.zip

    首先,我们需要了解跨平台的含义。在编程中,跨平台意味着一个应用程序或库可以在多种操作系统上运行,如Windows、macOS、Linux以及Android和iOS等移动操作系统。对于音视频处理,这意味着编写的代码应该能在这些...

    Go-Go的一个跨平台FUSE库

    Go语言的跨平台编译能力也使得这个库可以在多个操作系统上运行,这正是“跨平台”的含义。 标签“Go开发-其它杂项”表明这个库可能包含了Go语言开发的一些非标准或特殊用途的工具,属于Go生态系统中的一个补充部分...

    山寨版的神州数码802.1x认证supplicant,基于pcap库的C语言的跨平台的原生客户端。.zip

    “C语言的跨平台的原生客户端”意味着这个supplicant是用C语言编写的,C语言是一种底层且高度灵活的编程语言,适合开发系统级软件,如网络协议实现。跨平台意味着这个客户端可以在多个操作系统上运行,比如Windows、...

    Python-基础学习笔记.docx

    Python是一种强大的、开源的、跨平台的编程语言,以其简洁的语法和丰富的库资源而闻名。它是初学者学习编程的理想选择,因为它的设计哲学强调代码的可读性和简洁的表达能力。下面我们将深入探讨Python的基础知识。 ...

    山寨版的神州数码 802.1x 认证 supplicant,基于 pcap 库的 C 语言的跨平台的原生客户端。.zip

    使用 C 语言编写且基于 pcap 库,这表明这个客户端设计为跨平台,能够运行在多种操作系统上,如 Windows、Linux 或 macOS。pcap 库是一个广泛用于网络数据包捕获和分析的库,通常用于网络安全、故障诊断和性能监控等...

    CaptfEncoder 跨平台网络安全工具套件

    安全的基本含义:客观上不存在威胁,主观上不存在恐惧。即客体不担心其正常状态受到影响。可以把网络安全定义为:一个网络系统不受任何威胁与侵害,能正常地实现资源共享功能。要使网络能正常地实现资源共享功能,...

    基于uniapp+Springboot跨平台的项目任务管理系统设计毕业源码案例设计.zip

    该项目是一个跨平台的项目任务管理系统,它结合了前端的uni-app框架和后端的Spring Boot技术,用于实现高效的任务分配、跟踪与管理。uni-app是一个使用Vue.js开发所有平台的应用框架,支持H5、iOS、Android等平台。...

    一个Flutter写的一个无聊的App今日份的X

    Flutter是Google推出的一款用于构建多平台用户界面的开源UI工具包,支持快速开发Android和iOS应用,甚至可以扩展到Web和桌面平台。 【描述】中的内容与标题相同,暗示这个App可能没有特定的功能,可能包含一些实验...

    Python是一种跨平台、开源、免费的高级动态编程语言.pdf

    Python是一种广泛使用的高级编程语言,它具备跨平台性,可以在多种操作系统上运行,如Windows、Linux、Mac OS等。Python是开源的,意味着它的源代码可供公众查看、使用和改进,且无需支付任何费用。此外,Python 3.x...

Global site tag (gtag.js) - Google Analytics