java是跨平台,c++不是跨平台的?


首先理解一下跨平台的含義:不依賴與操作系統,也不依賴硬件環境。

java是一次編譯,到處運行,像java,flash這些可以理解為這樣,因為他們運行在虛擬機上jvm的。而這個虛擬機,你也可以理解成為一個微型的操作系統。在不同的系統中有不同的jvm可以和他們進行一起安裝,所以相應java字節碼便可以跟着在任何平台上運行。 只要JVM自身的代碼能在相應平台上運行,即JVM可行,則JAVA的程序員就可以不用考慮所寫的程序要在哪里運行,反正都是在虛擬機上運行,然后變成相應平台的機器語言,而這個轉變並不是程序員應該關心的。

所以java一次編譯之后得到的運行程序也就有了跨平台的效果。c++也可以跨平台,只不過這種跨平台是源代碼級別的,C/C++中跨平台的基礎就是判斷當前是什么操作系統,然后各個操作系統編寫相應代碼,從而實現程序的跨平台。c語言在Windows上編譯的文件,放到Linux系統上運行,可能就有不兼容問題。c++的跨平台不如java,其實c++主要追求的目標是:實用+通用+性能。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM