2013-07-24 50 views
0

我剛剛開始用C編程,但我完全困惑。如何在我的電腦上獲得C標準?

我以前寫在Visual Studio 2012的代碼,但它與C89兼容(ANSI C?)。我用MinGW編譯器安裝了CodeBlocks。我想學習如何知道我可以編程的計算機中的C標準是什麼? C89,C90,C99甚至是C1X?或者我不明白它的意思。什麼決定了我的電腦中的C標準?編譯器還是IDE?

+0

編譯器是實際上必須遵循的標準,如果這就是你問的東西。 – chris

+0

@chris那麼究竟是什麼決定了C語言的標準呢? – Andrius

+0

@Andrius你的意思是「標準」? – johnchen902

回答

3

它不依賴您的計算機上,但你的編譯器。畢竟,計算機(我的意思是CPU)並不涉及C而是使用機器指令。編譯器根據某個標準解釋C並將其轉換爲CPU友好的指令。

GNU Compiler Collection可以處理各種C標準,您可以從-std= flag中選擇。

加法:在某些(嵌入式)系統中,您只有有限的編譯器選擇,它們可能只支持有限數量的標準。因此,通過這種方式,可用的C標準可能僅限於您的計算機。

+0

謝謝,這就是我一直在尋找 – Andrius

0

增添幾分到Kninnug的優良回答可以幫助您瞭解這些標準之間的差異:

維基百科有描述各種C語言的之間的區別許多有用的鏈接,甚至是從哪裏得到的「定稿」標準,這是免費的。我發現這些對編寫嚴格符合的代碼非常有用。

http://en.wikipedia.org/wiki/C11_%28C_standard_revision%29如果您在POSIX(例如,Linux)的世界而努力的POSIX擴展爲UNIX世界的C標準是有用的,它指向http://www.open-std.org/jtc1/sc22/wg14/www/docs/n1570.pdf

然後。一個好的起點是

http://pubs.opengroup.org/onlinepubs/009695399/

這就是你得到的東西,如getopt的(),未在C標準中。我再次推薦探索關於這個主題的維基百科頁面。

相關問題