VC++ 2010對C99的支持


VC++支持ANSI C毋庸置疑,不過對於是否支持C99,我倒看到兩種說法:

1. 不支持C99.

2. 支持C99的個別特性.

到底是神馬情況? 我試驗了VC++ 2010,可以確定VC++ 2010支持C99下面的幾個特性:

  • 支持 // 開頭的單行注釋
  • 支持 long long等數據類型,但是printf、scanf的格式化串不支持long long類型
  • 支持可變參數宏

VC++ 2010不支持C99下面的幾個特性:

  • 支持不定長的數組
  • 變量聲明不必放在語句塊的開頭
  • 除了已有的 __line__、__file__ 以外,增加了 __func__ 得到當前的函數名。

結論就是VC++ 2010對C99的支持少得可憐的。

ps: VC++ 2010雖然用不了,但是可以用__FUNCTION__。但是__FUNCTION__和__func__性質是不一樣的。前者是VC++編譯器指定的,后者是C99標准指定的。


免責聲明!

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



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