c11編譯選項
❶ C語言編譯器是什麼
C語言是一門面向過程的計算機編程語言,與C++、Java等面向對象編程語言有所不同。C語言的設計目標是提供一種能以簡易的方式編譯、處理低級存儲器、僅產生少量的機器碼以及不需要任何運行環境支持便能運行的編程語言。C語言描述問題比匯編語言迅速,工作量小、可讀性好,易於調試、修改和移植,而代碼質量與匯編語言相當。C語言一般只比匯編語言代碼生成的目標程序效率低10%~20%。因此,C語言可以編寫系統軟體。[2]
二十世紀八十年代,美國國家標准局為了避免各開發廠商用的C語言語法產生差異,給C語言制定了一套完整的美國國家標准語法,稱為ANSI C。作為C語言最初的標准。[3]2011年12月8日,國際標准化組織(ISO)和國際電工委員會(IEC)發布的C11標準是C語言的第三個官方標准,也是C語言的最新標准,該標准更好的支持了漢字函數名和漢字標識符,一定程度上實現了漢字編程。
C語言編譯器普遍存在於各種不同的操作系統中,例如Microsoft Windows, Mac OS X, linux, Unix等。C語言的設計影響了眾多後來的編程語言,例如C++、Objective-C、Java、C#等。
例:
#include <stdio.h>
int main() {
printf("Hello,world!");
return 0;
}
編譯運行將輸出: Hello,world!
❷ 如何讓 MinGW 編譯器支持 C++ 11
請到關。 網下載mingw最新版本,安裝的時候選擇GCC-4.8.1(G++4.8.1)。
編譯時添加編譯選項: -std=c++11
mingw的GCC有一點問題,如果要使用完整C++特性,建議使用cygwin
如果要結合使用第三方IDE必須確保IDE調用編譯器時自動添加上述編譯選項。
❸ 請教關於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,所有對象在全局實例化.並通過函數初始化函數將引用傳進類
❹ 怎樣在Linux環境編譯支持C11
linux 安裝的時候一般自動安裝gcc 的工具 沒有的話 在你yum 源配置真確的話 用yum install gcc 安裝gcc工具 VI 一個腳本 編輯好後 用gcc 文件名 -o 輸出的文件名 進行c或c++的編譯 然後就可以運行腳本了
❺ centos7 gcc編譯器對c11標準的支持
gcc-std=c11main.c-omain
前提是你的gcc版本得夠新, 支持 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標准,支持後綴_s的可選安全函數
帶有_s的函數只是微軟在VS中給出的吧,並不是標准庫中的內容,如果要使用這些函數,只能用微軟的編譯器了。
❽ VS的那個版本支持C11特性
最新版的編譯器基本都支持C++11,比如codeblocks 13.12.0.0,dev c++ 5.0 beta 9.2 (4.9.9.2), vs2008,vs2010,vs2013等等。
不過這些編譯器一般默認是不開啟c++11的,需要你在編譯器設置裡面勾選C++11或者C++0x
設置就拿codeblocks舉例。
project->build options望採納