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


當前主流的手機平台很多,而各個主流的平台的語言支持大同小異;如

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

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

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

    那么跨平台語言該如何選擇?

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

    方便他人亦是方便自己,如果覺得還行就點下贊吧,這樣可以幫助其他人更快的找到解決問題的方法;有疑問的也可留言哦, 謝謝!

工具/原料

  • Visio
  • Win7

方法/步驟

  1.  

        C# .net Java的跨平台是指它們在“編譯系統”生成的中間文件的字節碼(byte code)文件不需要重新編譯,就可以直接被“運行系統”使用;

        C/C++的跨平台是指不要重新寫代碼,需要重新編譯成“運行系統”對應的機器碼(binary code)后,才能夠被“運行系統”使用;

         如下圖所示(所有的名詞的叫法以下圖為准):

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

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

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

  3.  

          java, C#的跨平台受“虛擬機”的限制,如:

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

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

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

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

          c/c++不受虛擬機的限制,只要能夠編譯成“運行系統”的“機器碼”即可,這也是為什么現在大量的跨平台應用開發采用c/c++的原因;

  4. 4

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

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

        跨平台背后,一個美麗的誘惑,一個相反的夢;


免責聲明!

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



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