-5

我見過很多C/C++庫和Gui工具包。其中有一些像GTK +,Qt,Swing等聲稱是平臺-獨立。而一些像WxWidgets,SWT等聲稱是的是跨平臺的。起初,我認爲這只是一個措辭上的改變,但這些術語的使用一直如此,以至於我開始懷疑。什麼的區別?平臺無關和跨平臺有什麼區別?

+2

問題無關與圖書館的源語言有關。 – Puppy

+22

濫用標籤系統。標籤是關於問題的內容,而不是你想要看的人。 – Puppy

+1

我可能會弄錯,但我相信當某些聲稱與平臺無關的東西通常使用某種虛擬機或其他技巧時,它可以在硬件和操作系統級別之上運行。 vm的具體安裝程序適用於不同的平臺,但它們都是相同的vm。跨平臺意味着圖書館可以像許多不同的平臺一樣工作。盒子外面。有可能是我錯了,或者我說的需要大量的澄清,但我認爲核心思想是正確的... –

回答

11

跨平臺只意味着你支持多平臺。它通常意味着Linux,Mac和Windows。平臺無關意味着您支持您的語言支持的任何平臺 - 即,您不依賴語言規範中未指定的行爲。然而,這只是我個人的觀點,大多數用途都只是將它們都視爲「多種平臺」,通常是「Windows和...」。

2

「與平臺無關」通常是用高級語言編寫的程序,不需要爲其他平臺重新編譯或調整,並且可以「按原樣」運行(Java,大多數Perl腳本等)只要特定平臺實現語言運行時即可。當程序下面有層涉及不同平臺(VM或解釋器)時,這是可能的。

「跨平臺」意味着該程序可以針對多個平臺進行編譯/調整,但不適用於任何平臺。在C和C++代碼中考慮#ifdef

6

爲了什麼它的價值,這是Wikipedia已就此事說:

爲了軟件被視爲跨平臺,它必須能夠在多臺計算機上正常工作架構或操作系統。

軟件是獨立平臺不依賴於任何單一平臺的任何特殊功能,或者,如果這樣做,處理這些特殊的功能,使得它可以處理多個平臺