2012-05-22 70 views
2

我正在使用VS 2010.我改變了編譯器C代碼而不是C++的設置。它工作正常,但問題是MS編譯器不支持C99標準,因此我正在尋找一個可以與VS 10一起使用的C編譯器。如何做到這一點?提前致謝。如何更改VS的編譯器?

+0

你需要什麼方面的C99? AFAIK的某些方面*在VS 2010編譯器中實現。 – 0xC0000022L

+0

好吧,像'//','for(int i = 0; ..)'和'enum {A,B} char * foo [] = {[A] =「..」,[B] =「$ ..」};'(我有很多代碼使用這個)。一旦我無法更改VS的默認編譯器,該解決方案將遷移到真正支持C99的編譯器,對吧? – Jack

回答

2

MS visual studio不支持c99,但是他們已經實現了c99的certain features

從這個Microsoft page,他們對C99支持回覆:

問用戶:

「我想看看在Visual Studio中提供C99支持的 量。與C++ 0x相比,添加C99支持的工作應該是蒼白無力的。

作爲主導PC平臺的編譯器,微軟應該真的是 努力實現超過10年的標準 - 特別是因爲C社區可以說比C#或 C++社區更大。「

微軟的答覆:

「不幸的是1)是微軟C++ 編譯器很多,許多用戶數超過有C編譯器; 2)任何時候我們做客戶 討論和/或徵求反饋熱烈的迴應是,我們應該專注於C++(尤其是C++ - 0x); 3)我們只是 沒有足夠的資源去做我們想做的每件事,所以當我們 正在慢慢地改進我們的C-99支持(我們正在積極參與C-1x 討論)我不能保證我們會添加任何這些功能。「

+0

但是我不能將MSC改爲'gcc'例如,對吧? – Jack

+0

MSC支持所有的c89,但有限的c99功能。所以你不能那樣做。否則,當您使用最新的gcc(c99或c11)功能時,可能會遇到問題。 –