Java C# .net 和 C C++ 跨平臺的區別

當前主流的手機平臺不少,而各個主流的平臺的語言支持大同小異;如java

   一、windows系統WP8上主要支持 VB, C#, c/c++, linux

   二、蘋果系統ios上支持 object-c, c/c++android

   三、android系統上支持 java, c/c++ios

    那麼跨平臺語言該如何選擇?c++

    C#.net java 不是跨平臺的嗎,它們和C/C++的跨平臺有什麼區別?windows

    方便他人亦是方便本身,若是以爲還行就點下贊吧,這樣能夠幫助其餘人更快的找到解決問題的方法;有疑問的也可留言哦, 謝謝!工具

工具/原料

  • Visio
  • Win7

方法/步驟

  1.  

        C# .net Java的跨平臺是指它們在「編譯系統」生成的中間文件的字節碼(byte code)文件不須要從新編譯,就能夠直接被「運行系統」使用;.net

        C/C++的跨平臺是指不要從新寫代碼,須要從新編譯成「運行系統」對應的機器碼(binary code)後,纔可以被「運行系統」使用;unix

         以下圖所示(全部的名詞的叫法如下圖爲準):code

    Java C# .net 和 C C++ 跨平臺的區別
  2.  

           Java, C#的跨平臺是創建在「虛擬機」的基礎上的,經過虛擬機在程序運行時將「編譯系統」生成的字節碼(byte code) 轉換成「運行系統」的機器碼(binary code),屬於解釋性語言;

           C / C++是在「編譯系統」上直接將代碼生成「運行系統」上的機器碼(binary code),屬於編譯性語言;

  3.  

          java, C#的跨平臺受「虛擬機」的限制,如:

                一、.net環境只在windows上有,linux(Android)和unix(ios)都不支持;

               二、Java手機平臺主要是Android支持,windows(WP8)和mac(ios系統)都不支持;

               三、.net ,和Java虛擬機在xp系統上默認是沒安裝的;

               四、xp系統不支持.net的高版本,如.net 4.5

          c/c++不受虛擬機的限制,只要可以編譯成「運行系統」的「機器碼」便可,這也是爲何如今大量的跨平臺應用開發採用c/c++的緣由;

  4. 4

        被人誇的跨平臺的解釋性語言,最後也沒能跨上跨平臺的夢;

        被人諷刺的不能誇平臺的編譯性語言,卻成就了跨平臺的夢;

        跨平臺背後,一個美麗的誘惑,一個相反的夢;

相關文章
相關標籤/搜索