導航:首頁 > 源碼編譯 > 編譯器怎麼看c標准

編譯器怎麼看c標准

發布時間:2023-03-29 12:38:11

『壹』 如何查看編譯器當前使用的是哪個c++標准

這個要看不同編譯器的發布說明了,比如VC,就是檢查_MSC_VER這個宏(查看下網路和MSDN參考),標識了VC的版本,而對於C++11/14 VC也是逐步支持的,即某個版本的VC會增加支持C++11的某些特性,這些要到微軟的VC官方博客上查看

『貳』 各位兄弟,怎麼在C語言編譯器gcc裡面轉換C99或C98標准,gcc默認的是哪個標准

C99標準是默認的
至於怎麼切換我還真不知道,
區別C99與C89最簡單的就是看他是否支持//單行注釋

『叄』 如何看c語言標准庫函數的源代碼

很遺憾,標准庫中的函數結合了系統,硬體等的綜合能力,是比較近機器的功能實現,所以大部分是用匯編完成的,而且已經導入到了lib和dll里了,就是說,他們已經被編譯好了,似乎沒有代碼的存在了.
能看到的也只有dll中有多少函數被共享.
第三方可能都是dll,因為上面也說了,dll是編譯好的,只能看到成品,就可以隱藏代碼,保護自己的知識產權,同時也是病毒的歸宿...... 當然,除了DLL的確還存在一種東西,插件程序~~~

『肆』 編譯器 如何識別源程序是c或c++

源代碼是由字元組成的吧?
明白這一點就好辦了
編譯器首先將你寫的代碼讀入內存,然後尋找代碼中的關鍵字、標識符等信息,建立一個所謂的符號表,根據這個符號表對你的源代碼進行檢查,檢查的依據正是該語言的語法和句法規則。比如是否有變數重復定義錯誤、是否有類型不兼容錯誤,是否有遺漏語句分隔符錯誤等等。這些都是比較簡單的,例如根據語言的關鍵字表可以檢查是否有非法的關鍵字(語句分隔符之後的下一個有效字元一定是一個關鍵字或已定義的標識符,因此很容易識別並挑出其中的關鍵字進行檢查),其它檢查也是類似的。
檢查沒有問題後,編譯器開始鏈拆明接和映射操作(該過程在檢查階段也有使用),將你的源旅旦告程序翻譯成匯編程序或其它中間程序。這一步是最復雜的,因為句法和語法比較簡單,但整個程序的邏輯卻復雜的多,而且編譯器還要負責在不改變代碼原意的前提下將代碼盡可能地進行優化。
最後就是將生成的匯編代碼翻譯為機器語言,這一步是最簡單的,因為匯編只是將機器語言簡單符號化而已,現在的編譯遲核理論已經能夠確保將匯編代碼准確地翻譯為機器碼了。
以上。
另外,站長團上有產品團購,便宜有保證

『伍』 如何查看gcc編譯器默認支持的c語言標准

gcc默認是不支持c99及以上版本的

如果想支持,需要在編譯時加參數:-std=c99
gcc -std=c99 -o xx xx.c
或者在源碼里定義宏
#define __STDC_VERSION__ 199901L

『陸』 編譯器 如何識別源程序是c或c++

例如linux下有
gcc
,windows下有ms
vs
系列。c的源程序經過這些編譯器每種平台都有自己的c編譯器的,再與各自平台的連接器就可以生成該平台下對應的二進制執行代碼了。
但由於c語言很多時候會涉及很多硬體級調用的,這個對平台依賴性極大。所以移植性這種東西,我只能說,哈哈

『柒』 如何知道自己的編譯器支持的標準是C89還是C99

用個新的標准編一下

『捌』 unix下C編譯器版本如何查看

常用的編譯器有gcc, clang, c-compiler, xlc(AIX)等。一般他們會綁定到cc(軟連接), 所以你可以查看下cc指向哪個連接,如果遵循GNU語法,那麼看版本就是cc --version. 一個系統可以裝多個版本的多種編譯器,那麼就可以看下$PATH變數中優先哪個生效?當然還有其他編譯器,如intel 廠商的。可以看man XXXX 然後搜 version.

『玖』 如何看c語言標准庫函數的源代碼

1、首先標准只是規定了這些函數的介面和具體的運行效率的要求,這些函數具體是怎麼寫得要看各個編譯器的實現和平台。

2、例如使用的編譯器是visual studio,仿行搜微軟提供了一部分C運行時(CRT)的源碼,裡面會有memcpy,strcpy之類的函數的實現,在visual studio 2005下的路徑帶余是C:Program FilesMicrosoft Visual Studio 8VCcrtsrc。

『拾』 如何知道當前編譯器是否是C99標準的有什麼指令可以查到

#include<stdio.h>
int main()
{
#if (!defined(__STDC__))
printf("非標准C!");
#elif defined(__STDC_VERSION__)
printf("標准C版本:%ld。", __STDC_VERSION__);
#else
printf("舊的標准C。");
#endif
getchar();
return 0;
}
預定義宏__STDC__表示標准C。__STDC_VERSION__表示標准C版本。C99對應的是199901L。
(注意有些編譯器默認沒有定義__STDC_VERSION__,甚至沒定義__STDC__。所以查編譯器手冊更保險一點。)
====
[原創回答團]

閱讀全文

與編譯器怎麼看c標准相關的資料

熱點內容
新電腦管家下載好怎麼解壓 瀏覽:526
php獲取介面數據 瀏覽:763
最後的命令 瀏覽:921
如何添加手機app桌面快捷圖標 瀏覽:427
ui設計師與程序員 瀏覽:417
壽司pdf 瀏覽:828
pythonbg是什麼 瀏覽:248
c數值演算法程序大全 瀏覽:785
android整點報時 瀏覽:221
稀土pdf 瀏覽:536
單片機電子鎖 瀏覽:596
通達信機智資金流指標公式源碼 瀏覽:216
php安裝xsl擴展 瀏覽:842
python如何使用help 瀏覽:367
上汽榮威app在哪裡查詢 瀏覽:903
冰櫃壓縮機溫度108 瀏覽:720
阿里雲郵smtp伺服器地址 瀏覽:252
解壓館認知理解 瀏覽:239
為什麼使用非官方伺服器會封號 瀏覽:9
佛山加密文檔軟體 瀏覽:813