首頁>Club>
13
回覆列表
  • 1 # 跨越一千五百年

    語法沒有差別。但是實現有差別,因為基於不同的系統平臺。

    另外,windows有自己的安全函式,所以如果要在windows平臺實現要使用安全函式。

    為了實現效率,儘量使用平臺函式,不要直接用c語言的方法,比如檔案操作。

  • 2 # 和不同

    語法只和編譯器有關。

    比如兩個平臺下都使用GCC相近版本,則支援的語法就是相同。

    如果編譯器不同,可能支援的語法就會有一定區別。比如GCC有自身支援的pragma,與Visual C++的不同。

    C語言本身語法簡單,一般情況下,嚴格使用C89/C99編碼,就可以相容絕大多數平臺了。但程式是否相容,還和其使用的庫有關。

    Linux和Windows這兩個系統的標準庫差別較大,在實際應用中,除了純命令列計算類C程式,其它C程式多半都得使用條件編譯之類的方式以便同時支援兩個平臺。

  • 3 # 半杯茶的小酒杯

    單就程式碼語法而言,Linux C和Win C基本上沒有什麼區別。

    C語言的語法規則由標準化組織制定

    早在上世紀80年代,美國國家標準局為了避免各個開發商使用的C語言語法差異,就給C語言制定了一套完整的標準,稱為ANSI C。

    1989年,ANSI釋出了第一個完整的C語言標準——ANSI X3.159—1989,簡稱“C89標準”。

    C89在1990年被國際標準組織ISO(International Standard Organization)一字不改地採納,從此便由美國標準變成了國際標準。

    1999年,在做了一些必要的修正和完善後,ISO釋出了新的C語言標準,命名為ISO/IEC 9899:1999,簡稱“C99標準"。

    在2011年12月8日,ISO又正式釋出了新的標準,稱為ISO/IEC9899: 2011,簡稱為“C11標準”。

    開發者根據C語言標準實現編譯器

    C語言編譯器普遍存在於各種不同的作業系統中,例如Microsoft Windows, Mac OS X, Linux, Unix等。

    GCC:GNU組織開發的開源免費的編譯器。

    MinGW:Windows作業系統下的GCC。

    Clang:開源的BSD協議的基於LLVM的編譯器。

    不過雖然基於同樣的標準,各個編譯器對標準的實現還是有差異的。

    目前最符合和接近C++標準的編譯器有為GNU GCC,VC++ 6.0 對標準支援的不是很好。GCC對C標準的支援還是不遺餘力的,相比之下,微軟的visual studio態度就差強人意了。

    舉個簡單的例子,void main(){}是MicroSoft 公司的用法,不符合C++規範,詳細的可以看我之前的文章。

  • 中秋節和大豐收的關聯?
  • 有線路由器和無線路由器應該怎樣選擇?各有何利弊?