Visual Studio2013的C語言編譯器對C99標準的支援情況
Visual Studio2013終於開始比較良好地支援C99特性了。在此之前,如果用C語言寫程式碼的話,變數名都需要放到函式體的前面部分,程式碼寫起來十分別扭。
而Visual Studio2013中的C編譯器已經支援了不少C99標準,讓我來為大家盤點一下。
現在仍然不支援的語法特性有:
1、inline關鍵字:在VC中,仍然需要用微軟自己定義的__inline,而尚不支援inline,儘管inline在C++中是支援的。
2、restrict關鍵字。
3、_Complex與_Imaginary:儘管VS2013的C語言編譯器可以用complex.h庫,不管這兩個關鍵字不支援。庫的實現用的是描述複數的結構體。
4、變長陣列
除了上述四點,其它主要特性都予以了支援。下面給出一個示例程式碼來給出支援特性的描述:
#include <stdio.h> #define MY_PRINT(...) printf(__VA_ARGS__) static __inline int MyGetMax(int x, int y) { return x > y ? x : y; } int main(void) { MY_PRINT("%s\n", "Hello, world!"); int arr[] = { [0] = 100, [2] = 200, [8] = 400}; MY_PRINT("The value is: %d\n", arr[2] + arr[3]); struct Test { int x; float f; _Bool b; long long ll; }test = {.x = 10, .f = -0.5f, .b = 0}; struct Test t = (struct Test){ .ll = 100LL }; for (int i = 0; i < test.x; i++) t.x += test.x;int *p = (int[]){ [1] = t.x, [3] = test.b + test.ll }; MY_PRINT("The value is: %d\n", p[0] + p[1] + p[2] + p[3]); }
相關推薦
Visual Studio2013的C語言編譯器對C99標準的支援情況
Visual Studio2013終於開始比較良好地支援C99特性了。在此之前,如果用C語言寫程式碼的話,變數名都需要放到函式體的前面部分,程式碼寫起來十分別扭。 而Visual Studio2013中的C編譯器已經支援了不少C99標準,讓我來為大家盤點一下。 現在仍
Android 瀏覽器對 HTML5 的支援情況
Android 4.0 用的還是 Android 瀏覽器而不是 Chrome。Google 稱 Chrome 將是 Android 以後的瀏覽器,但 4.0 還不是。 智慧手機和平板的合併 Android 4.0 合併了智慧手機和平板電腦兩個版本,因此智慧手機直接從
visual studio 2015對C/C++標準的支援情況
VS2015對C99的支援幾乎是完備的,除了tgmath.h和CX_LIMITED_RANGE/FP_CONTRACT pragma macros。(不曉得支援inline不? :)) 看來可以用vs2015移植很多Linux下的開源專案了,如ffmpeg(其實從VS20
實現Codeblock支援C99標準
在使用codeblock13.12學習C語言時 我寫有如下形式for迴圈程式碼: for(int i = 1; i < m ; i++) { ...; } 編譯是會出現如下錯誤:|64|error: 'for' loop initial declarati
修改Go語言(golang)編譯器原始碼讓它支援UTF-8 BOM
Go語言(golang)第一個正式版Go1釋出了,但是這個新興的程式語言還是非常不完善。這不,我(Liigo)又發現它的編譯器竟然不支援編譯帶BOM的UTF-8編碼的.go原始檔。這就很奇怪,該語言明明要求原始碼檔案.go必須是UTF-8編碼,但又不允許帶UTF-8
BUILD 2015: Visual Studio對GitHub的支援
微軟BUILD 2015大會上釋出了Visual Studio 對GitHub的支援。安裝瞭如下Developer Assistant外掛後,你便可以在Visual Studio中找到GitHub上的示例程式碼,或一鍵下載GitHub上知名的開源專案
各C/C++編譯器對wchar_t字元和字串的正確支援程度
傳統的C風格的字串是以字元 '/0 '為結尾的一系列位元組的集合,其一個單元為char型別,可以儲存世界上的幾百種不同的字符集,包括ASCII、ISO-8859、GBK、BIG-5、SHIFT-JIS、UTF-8等等。通常這些字符集都是相容ASCII字符集的
主流編譯器對C++11的支援現狀比較
GCC 4.8剛剛釋出,Clang 3.3也釋出在即,如果你使用Visual Studio 2012,也可以通過安裝一個實驗性的CTP更新(VS2012 Nov CTP)來獲取額外的C++11支援;除此之外,這裡還比較了Intel C++編譯器v.13.0,不過這仍然是一個預覽版。 特性 VS
零基礎學Java編程語言就要對癥下藥
選擇學習Java編程語言,大部分人還是沖著高薪就業去的,既然如此,就業是學習Java的最終目的,企業需要什麽我們就學什麽。熱點資訊 下面小編就來分析一下企業需要什麽,這些也是我們在學習中應該著重關心的。當然,如果你是因為興趣或是喜歡才學Java編程依然可以看一下,學以致用。
c語言中對字段寬度的理解?
style lib include creat span 演示 file code pre 1 /************************************************************************* 2 >
第5課 嵌入式C語言編譯器
進行 1.5 編譯器 編譯過程 結構 java 頭文件路徑 color bject 1. GCC與gcc (1)GCC:(GNU Compiler Collection) GNU編譯器集合,包含眾多語言的編譯器,如C、C++、Java、D、Objective-C等 (2
安裝Visual Studio 語言包時出現windows 程序兼容模式已打開.請將其關閉
.cn class clas exe data- ng- mage ima win 打開 cmd.exe 輸入 安裝包路徑 /Uninstall例如:D:\vs_lang_cn.exe /Uninstall (中間有個空格,Uninstall前是個左斜杠)回車 後 安
對WEB標準以及W3C的理解與認識
ron 提高 搜索引擎 class 編程 簡單 命名 組織 事情 網頁主要由三個部分組成,表現、結構和行為。 我理解的就是: html是名詞--表現 css是形容詞--結構 javascript是動詞--行為 以上這三個東西就形成了一個完整的網頁,但是js改變時,可以會
對WEB標準以及W3C的理解與認識?
出了 htm 表現 一定的 css 編程 用戶體驗 組成 命名 web標準簡單來說可以分為結構、表現和行為。其中結構主要是有HTML標簽組成。或許通俗點說,在頁面body裏面我們寫入的標簽都是為了頁面的結構。表現即指css樣式表,通過css可以是頁面的結構標簽更具美感。行為
面向對象-標準的手機類代碼及其測試
system rand() null turn xxx str set sys col 1 /* 2 作業:請把手機類寫成一個標準類,然後創建對象測試功能。 3 4 手機類: 5 成員變量: 6
推薦一個WebIDE在線編程語言編譯器C9.io
隨著 ruby 支持 工作 lan 使用 github 編譯 寬帶 有時借用別人電腦或者不想在電腦上安裝各種亂七八糟的IDE,就可以考慮 Web IDE。隨著Web技術發展,很多語言的編譯工作都可以利用Web 瀏覽器來完成。 1. 推薦國外的 C9.io 個人可
匯編語言——編譯器
start 聯系 strong sem brush not class 是我 匯編指令 一個匯編語言程序從寫出到最終執行的簡要過程: 編寫--〉編譯--〉連接--〉執行 1、編寫 notepad++選擇Assembly assume cs:abc ; abc被我們當做
Go語言?對微信約戰棋牌網站搭建新技術怎麽看?
並行 java、 而是 進行 和我 goroutin 進入 並不是 learn 上個月,作為 Go 微信約戰棋牌網站搭建( h5.super-mans.com Q:2012035031)微信約戰棋牌網站搭建語言的三位創始人之一,Unix 老牌黑客羅勃·派克(Rob P
Visual Stdio C++ 編譯器、鏈接器常用命令行 (轉)
線程 dna pretty 文件 入口 all 如果 name -o2 以前使用 Visual Stdio 都是在 IDE 環境下。這兩天編譯 GSL 感覺用 IDE 環境特別不方便,所以就花了點時間簡單學習了如何在命令行下使用 Visual Stdio C++ 編譯器、連
五、CLR加載程序集代碼時,JIT編譯器對性能的產生的影響
幫助 leaves 控制流程 斷點 繼續 操作系統 optimize visual image 1、CLR首次加載代碼造成的性能損失 四、CLR執行程序集中代碼介紹了CLR在首次執行一個類的時,會初始化一個內部結構,然後當目標方法被首次調用時,JITCompli