java最大的優勢就是跨平台,因為java實在JVM,也就是JDK安裝後形成的java虛擬機中運行的,所以,只要你的電腦或者說是操作系統只要有jvm就可以運行java程序,比如你在window下面編譯的WEB項目打成war包,你發布的環境可能是linux的,這都是可以通用的,有時間你可以自己安裝一個linux虛擬機在電腦上,自己嘗試一下,發布程序這些操作,慢慢就懂了。
㈡ 問下現在比較流行的跨平台編程語言都有哪些
實現的機制不同。
JAVA是基於JVM虛擬機的,JAVA代碼被解釋為位元組碼提供給JVM運行,JVM再根據位元組碼調用系統介面,所以它的跨平台要點是實現能運行在各個平台上的JVM。
其他的跨平台的高級語言是通過編譯器實現的。
例如:DELPHI7的源碼中有針對MS和LINUX平台的條件編譯,在預編譯的時候根據具體平台選擇編譯源代碼的一部分。所以在LINUX平台下編譯DELPHI源碼就會得到KYLIX,在MS平台下編譯就得到DELPHI。
上邊說的是OS層面的跨平台,還有CPU體系的跨平台
比如,GCC支持編譯生成多種處理器下的二進制代碼。在編譯的時候通過選擇相應的處理器類型和恰當的庫文件就可以生成不同體系下的比如X86,IA64,ARM或MIPS等的可執行文件
㈢ 如何在 Windows 跨平台編譯 Mac 程序
你要在mac里安裝go的編譯環境
然後 把要編譯的文件復制過去
話說go好像支持跨平台編譯
安裝go語言 之前貌似要先安裝gcc 還要設置環境變數
㈣ 哪個C++編譯器是跨平台的
C++編譯器沒有跨平台, 因為編譯生成的可執行程序或者庫文件是和操作系統相關的。 windows下一般是使用Visual Studio編譯器; Linux下用gcc編譯。
不含調用系統API的C/C++代碼 才可以在多平台下編譯
㈤ 怎麼跨平台編譯
你可是試試將圖片、視頻等資源放在qrc資源文件中,使用資源路徑進行調用,這樣生成的可執行文件就不需要依賴外部文件系統資源了。
㈥ 請問下面的程序,編譯之後,是否可以【跨平台運行】呢
若在A平台編譯則理論上不可拿到B平台運行,除非在B平台重新編譯!典型例子就是Windows和Linux/Unix,但是這段程序無需修改就可以跨平台編譯。
㈦ C語言是如何編譯與組建的,跨平台性
科普一下,C最早是出現在Unix下的,Windows那都是後話了,C出現的時候Windows還沒開發出來呢。
C有個比較特別的稱呼,叫中級語言,因為它有高級語言的特性又能跟底層硬體很好的交互所以才有這么個說法。DOS時代在C裡面嵌上一段匯編直接從並口讀個數上來那是很流行的,現在沒見誰在VC裡面這么干吧。Windows也不讓啊。想訪問硬體怎麼也得通過驅動。
說遠了,C在多種平台下可以實現代碼級的共享,跨平台就需要重新編譯了。
但是,我也見過有的軟體是可以在多種平台上運行了,可能有什麼特別的技術,可以先識別一下操作系統,再運行相應的代碼。這個應該是在編譯的時候有特殊的技巧。
C編譯、連接器網上有現成的代碼,一般不是很專業的技術人員沒有去研究它。我一直把玩編譯原理的視為天人,有能力把編譯原理那本書看完的就很不容易了,再要能領會其中精要那就成才了,能把龍書虎書鯨書都搞明白的那就是一流專家了。
說白了C語言是如何編譯與組建的,大道理誰都知道,具體怎麼實現的,沒幾個懂的。所以對您的提問我只能坐這等著高手了!
㈧ c語言為什麼能跨平台或是如何跨平台的
c語言能跨平台是因為各個平台有相應的c編譯器,只要源代碼相同,編譯器編譯出來的二進制文件就會實現相同的功能,但是這些二進制文件本身是不一樣的
exe就是2進制的,但不完全是原來程序的代碼,還包括了windows系統的一些代碼
科普一下,C最早是出現在Unix下的,Windows那都是後話了,C出現的時候Windows還沒開發出來呢。
C有個比較特別的稱呼,叫中級語言,因為它有高級語言的特性又能跟底層硬體很好的交互所以才有這么個說法。DOS時代在C裡面嵌上一段匯編直接從並口讀個數上來那是很流行的,現在沒見誰在VC裡面這么干吧。Windows也不讓啊。想訪問硬體怎麼也得通過驅動。
說遠了,C在多種平台下可以實現代碼級的共享,跨平台就需要重新編譯了。
但是,我也見過有的軟體是可以在多種平台上運行了,可能有什麼特別的技術,可以先識別一下操作系統,再運行相應的代碼。這個應該是在編譯的時候有特殊的技巧。
C編譯、連接器網上有現成的代碼,一般不是很專業的技術人員沒有去研究它。我一直把玩編譯原理的視為天人,有能力把編譯原理那本書看完的就很不容易了,再要能領會其中精要那就成才了,能把龍書虎書鯨書都搞明白的那就是一流專家了。
㈨ Java語言是如何做到可移植性強、跨平台、「一次編譯到處運行」的呢
因為java代碼是運行在JVM上的,不同的平台有不同的JVM,如Windows和Mac上的運行同一款游戲,他們的實現方式肯定不一樣,但你都能讀取游戲的存檔文件。你不需要知道JVM在不同平台的實現方式,但他們解析java的class文件是一樣的邏輯,就是這樣java實現跨平台的。
㈩ 為什麼說c語言是跨平台語言,不就是編譯器嗎
C語言---是標准,定義了一些條條框框,文字上的東西如C89,C99如ISO/IEC
C99
編譯器是根據這些條條框框來做的,不能違反(但也不是那麼特別死要求的),對於它來說,標准就好像是法律。
說到跨平台,並不是講每一個WIN下的可編譯正確運行的C代碼,就能100%放到LINUX或*bsd下運行的,據我的一點經驗,寫代碼人是否按照標准規范寫的,用的非標准庫函數是否在WIN及UNIX平台下都能正常,都有限制的