日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程资源 > 编程问答 >内容正文

编程问答

预处理指令pragma常见用法集锦(#pragma once、#pragma comment和#pragma warning)

發(fā)布時(shí)間:2023/12/10 编程问答 23 豆豆
生活随笔 收集整理的這篇文章主要介紹了 预处理指令pragma常见用法集锦(#pragma once、#pragma comment和#pragma warning) 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

#pragma once:
這是一個(gè)比較常用的指令,只要在頭文件的最開(kāi)始加入這條指令就能夠保證頭文件被編譯一次,避免文件被重復(fù)包含。

*********************************** 例如 *****************************************
頭文件中的
#if _MSC_VER > 1000 //MFC版本
#pragma once //編譯一次
#endif // _MSC_VER > 1000
是什么意思?

以上意思就是:如果MFC的版本大于4。2的話(huà),本文件就只編譯一次。
************************************************************************************

#pragma comment:
該指令將一個(gè)注釋記錄放入一個(gè)對(duì)象文件或可執(zhí)行文件中。

該指令的格式為:
??????? #pragma comment( "comment-type" [, commentstring] )

comment-type(注釋類(lèi)型):可以指定為以下五種預(yù)定義的標(biāo)識(shí)符的其中一種。
1、compiler
??? 將編譯器的版本號(hào)和名稱(chēng)放入目標(biāo)文件中,本條注釋記錄將被編譯器忽略。
??? 如果你為該記錄類(lèi)型提供了commentstring參數(shù),編譯器將會(huì)產(chǎn)生一個(gè)警告。
??? 例如:#pragma comment( compiler )
2、exestr
?? 將commentstring參數(shù)放入目標(biāo)文件中,在鏈接的時(shí)候這個(gè)字符串將被放入到可執(zhí)行文件中。
?? 當(dāng)操作系統(tǒng)加載可執(zhí)行文件的時(shí)候,該參數(shù)字符串不會(huì)被加載到內(nèi)存中.但是,該字符串可以被dumpbin之類(lèi)的程序查找出并打印出來(lái),你可以用這個(gè)標(biāo)識(shí)符將版本號(hào)碼之類(lèi)的信息嵌入到可執(zhí)行文件中!
3、lib
?? 這是一個(gè)非常常用的關(guān)鍵字,用來(lái)將一個(gè)庫(kù)文件鏈接到目標(biāo)文件中。
?? 例如: #pragma comment(lib, "user32.lib")
??????????? 該指令用來(lái)將user32.lib庫(kù)文件加入到本工程中。

4、linker
?? 將一個(gè)鏈接選項(xiàng)放入目標(biāo)文件中,你可以使用這個(gè)指令來(lái)代替由命令行傳入的或者在開(kāi)發(fā)環(huán)境中設(shè)置的鏈接選項(xiàng)。
你可以指定/include選項(xiàng)來(lái)強(qiáng)制包含某個(gè)對(duì)象。
?? #pragma comment(linker,"/include:__mySymbol")

你可以在程序中設(shè)置下列連接選項(xiàng):
/DEFAULTLIB
/EXPORT
/INCLUDE
/MANIFESTDEPENDENCY
/MERGE
/SECTION
/NODEFAULTLIB
??
又如:
#pragma comment(linker,"/nodefaultlib:LIBC.lib")
該與指令是用來(lái)忽略特定庫(kù)的,解決諸如LINK : fatal error LNK1104: 無(wú)法打開(kāi)文件“LIBC.lib”的編譯錯(cuò)誤。

#pragma warning( disable : 4507 34; once : 4385; error : 164 )
等價(jià)于:
#pragma warning(disable:4507 34) // 不顯示4507和34號(hào)警告信息
#pragma warning(once:4385)??????? // 4385號(hào)警告信息僅報(bào)告一次
#pragma warning(error:164)????????? // 把164號(hào)警告信息作為一個(gè)錯(cuò)誤。


總結(jié)

以上是生活随笔為你收集整理的预处理指令pragma常见用法集锦(#pragma once、#pragma comment和#pragma warning)的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。