VC++ 2010對C99的支持

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

1. 不支持C99.函數

2. 支持C99的個別特性.blog

究竟是神馬狀況? 我試驗了VC++ 2010,能夠肯定VC++ 2010支持C99下面的幾個特性:ip

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

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

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

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

ps: VC++ 2010雖然用不了,可是能夠用__FUNCTION__。可是__FUNCTION__和__func__性質是不同的。前者是VC++編譯器指定的,後者是C99標準指定的。編譯器

相關文章
相關標籤/搜索