<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>
"); //-->

博客專(zhuān)欄

EEPW首頁(yè) > 博客 > pragma message的作用

pragma message的作用

發(fā)布人:電子禪石 時(shí)間:2022-08-05 來(lái)源:工程師 發(fā)布文章

一般情況下,#pragma message( messagestring )是在編譯期間,將一個(gè)文字串(messagestring)發(fā)送到標準輸出窗口。典型的使用方法是在編譯時(shí)報告和顯示信息。下面的代碼段是編譯期間在標準輸出窗口顯示一條消息:

#if _M_IX86 == 500
#pragma message( "Pentium processor build" )
#endif

 

messagestring 參數可以將文字串常量擴展成一個(gè)宏,從而可以顯示任何形式的字符串。例如,下面的語(yǔ)句顯示被編譯文件的名字以及文件被最后一次修改的日期和時(shí)間:

#pragma message( "Compiling " __FILE__ ) 
#pragma message( "Last modified on " __TIMESTAMP__ ) 
#pragma message("Remember to write some actual code in this sample app!!"))

下面我們就利用這個(gè)特性,進(jìn)一步擴展#pragma message的使用。先在一個(gè)頭文件(假設為lfpragma.h)中定義下面的宏:

#define PTODO_LINENUMBER_TO_STRING(x) #x
#define PTODO_LINENUMBER(x) PTODO_LINENUMBER_TO_STRING(x)
#define INCLUDE_FILE_AND_LINE(string) __FILE__"(" PTODO_LINENUMBER(__LINE__) "): "string

然后在任何cpp文件中包含lfpragma.h文件,那么我們就可以象下面這樣引用前面定義的宏。如:

#pragma message( INCLUDE_FILE_AND_LINE("Compiling ") __FILE__ ) 
#pragma message( INCLUDE_FILE_AND_LINE("Last modified on ") __TIMESTAMP__ ) 
#pragma message(INCLUDE_FILE_AND_LINE("Remember to write some actual code in this sample app!!"))

這樣使用#pragma message與通常使用的方法有什么不同呢?平常我們使用#pragma message時(shí),在標準輸出窗口中可以看見(jiàn)#pragma message的輸出信息,但是鼠標點(diǎn)右鍵彈出的上下文菜單中“Go to Error/Tag”菜單項是置灰的,不可用。但是如果使用上面定義的宏,我們就可以激活上下文菜單中“Go to Error/Tag”,從而定位到相應的代碼行


pragma message是用來(lái)告訴程序員,程序在編譯時(shí)期的信息。而outputdebugstr則是告訴程序員,程序在運行時(shí)期的信息。

下面就以一個(gè)例子來(lái)講解pragma message。

 

配合#if/#ifdef/#ifndef設置編譯時(shí)的提示信息,例如: 
//test.cpp 

#define UNICODE 

#ifdef UNICODE 
#pragma message("使用UNICODE字符集") 
#else 
#pragma message("使用ANSI字符集") 
#endif 

int main() 

return 0; 


*博客內容為網(wǎng)友個(gè)人發(fā)布,僅代表博主個(gè)人觀(guān)點(diǎn),如有侵權請聯(lián)系工作人員刪除。

波段開(kāi)關(guān)相關(guān)文章:波段開(kāi)關(guān)原理




關(guān)鍵詞: C

相關(guān)推薦

技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>