編譯器c11
Ⅰ c11是什麼意思
C11標準是 ISO/IEC 9899:2011 - Information technology -- Programming languages -- C 的簡稱,曾用名為C1X。
C11標準是c語言標準的第三版,前一個標准版本是C99標准。2011年12月8日,國際標准化組織(ISO)和國際電工委員會(IEC) 旗下的C語言標准委員會(ISO/IEC JTC1/SC22/WG14)正式發布了C11標准。
名詞解釋:
C11標準的最終定稿的草案是免費開放的,為N1570 [3] ,但是正式標准文件需要198瑞士法郎。
當前,支持此標準的主流C語言編譯器有:GCC、Clang、Intel C++ Compiler等。
對IEEE754標准-2008的半精度浮點數的支持。盡管遵循GNU C標准規范的編譯器(GCC以及Clang等)使用了C擴展關鍵字__fp16,但是只能對半精度浮點數進行引用,而不能做任何算術操作。因此,這個特性應當在下一個C語言標准中立馬加入進去的,建議使用_Half作為半精度浮點數類型的關鍵字。
Ⅱ c語言到底需不需要按照它的最新標准來為什麼有的有的編譯器對c11標准不是很在乎,
根據你的使用的編譯器和你的實際需要來。
是否使用新標准,就像是現在是使用win7還是win10的選擇一樣,喜歡用哪個就哪個。
新的標准只是增加了新的特性,並沒有對老的內容有修改,是向下兼容的。
Ⅲ 請教關於gcc編譯文件時遇到C11支持的問題
由於系統比較復雜,首先用VC++.NET 2005 開發,在PC測試全部通過後,使用GCC編譯時出現了兩個警告,調試時出現一個錯誤.請高手指教:
1.編譯器警告
Queue.h:20: warning: ignoring packed attribute on unpacked non-POD field `CommandPackage Queue::cmd[1]
請教原因
2.編譯器警告
buffer.h:12: warning: alignment of 'Buffer::_ZTV6Buffer' is greater than maximum object file alignment. Using 1
3.調試器報錯
AVR Simulator: Excessive stack overflow, stop sim
簡單說明下程序的情況:
程序用了面向對象的設計,總共涉及了大約10+個類.其中報錯了的是指令緩沖相關類.
Buffer繼承出了E2PBuffer和CommBuffer,在類內部使用了一個CommandPackage(non-POD)類型組成的Queue類.其中Buffer及其兩個子類還有Queue均報了以上兩個警告.
我CommandPackage的大小是 10 Byte,緩沖隊列最大數量是5,緩沖隊列一共產生了6個實例.
由於編譯器不支持new和delete,所有對象在全局實例化.並通過函數初始化函數將引用傳進類
Ⅳ 如何配置C11標準的編譯器
gcc默認是不支持c99及以上版本的 如果想支持,需要在編譯時加參數:-std=c99 gcc -std=c99 -o xx xx.c 或者在源碼里定義宏 #define __STDC_VERSION__ 199901L
Ⅳ win7系統,能用c11的編譯器有哪些
1、用 Visual Studio 2010 旗艦版,它是專為Win7打造的,其他的版本也可以兼容,而且支持VC/VB/C#多種語言開發,安裝下來才2G多,是一款相當不錯的開發軟體。
2、用開發版的比較好,學習版的有些功能減掉了。
3、eclipseCDT也可以。純綠色軟體,解壓縮就能用。完美支持win7。
4、學一門語言最好的方式就是 記事本+編譯器。什麼東西都要自己手寫。這樣映像才深。學的才透。
5、Visual Studio(VS) 是一套完整的開發工具集,用於生成 ASP.NET Web 應用程序、XML Web Services、桌面應用程序和移動應用程序。Visual Basic、Visual C++、Visual C# 和 Visual J# 全都使用相同的集成開發環境 (IDE),利用此 IDE 可以共享工具且有助於創建混合語言解決方案。另外,這些語言利用了 .NET Framework 的功能,通過此框架可使用簡化 ASP Web 應用程序和 XML Web Services 開發的關鍵技術。
Ⅵ 請問什麼C語言編譯器才能支持帶有C11標准,支持後綴_s的可選安全函數
帶有_s的函數只是微軟在VS中給出的吧,並不是標准庫中的內容,如果要使用這些函數,只能用微軟的編譯器了。
Ⅶ centos7 gcc編譯器對c11標準的支持
gcc-std=c11main.c-omain
前提是你的gcc版本得夠新, 支持 c11才可以.