溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

C++中如何使用內(nèi)置的調(diào)試宏

發(fā)布時(shí)間:2022-03-23 14:35:36 來(lái)源:億速云 閱讀:278 作者:小新 欄目:web開發(fā)

這篇文章主要為大家展示了“C++中如何使用內(nèi)置的調(diào)試宏”,內(nèi)容簡(jiǎn)而易懂,條理清晰,希望能夠幫助大家解決疑惑,下面讓小編帶領(lǐng)大家一起研究并學(xué)習(xí)一下“C++中如何使用內(nèi)置的調(diào)試宏”這篇文章吧。

使用內(nèi)置的調(diào)試宏

在程序調(diào)試的過(guò)程中,經(jīng)常希望知道當(dāng)前運(yùn)行的是哪個(gè)模塊小的哪個(gè)函數(shù),在源文件中是第幾行等等。如果手工添加這些信息,無(wú)疑會(huì)給程序員帶來(lái)很大的負(fù)擔(dān)。因此,C++提供了幾個(gè)宏,他們分別是__FILE__、__FUNCTION____LINE__,可以利用它們“自動(dòng)“獲取有關(guān)模塊、函數(shù)和行的信息??疾烊缦鲁绦?。

#include <iostream>
using namespace std;

void func1()
{
	cout<<__FILE__<<endl;
}

void func2()
{
	cout<<__FUNCTION__<<endl;
}

void func3()
{
	cout<<__LINE__<<endl;
}

int main(int argc,char* argv[])
{
	func1();
	func2();
	func3();
}

在本人的機(jī)器上輸出如下信息:

e:\lvlv_study\synchronousfile\school\2015.10.23\programming\debug\main.cpp
func2
13

另外還可以使用assert()宏來(lái)進(jìn)行斷言。assert是一個(gè)只在調(diào)試版本下起作用的宏。另外,用戶也可以定義自己的宏輔助來(lái)完成調(diào)試任務(wù)。例如下面的紅可以用來(lái)顯示變量的值,而且變量的名字會(huì)一同顯示出來(lái):

#define PR(x) cout<<#x”=”<<x;

這是利用#對(duì)宏的參數(shù)進(jìn)行字符串化的處理。

以上是“C++中如何使用內(nèi)置的調(diào)試宏”這篇文章的所有內(nèi)容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內(nèi)容對(duì)大家有所幫助,如果還想學(xué)習(xí)更多知識(shí),歡迎關(guān)注億速云行業(yè)資訊頻道!

向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

c++
AI