日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区

您的位置:首頁技術(shù)文章
文章詳情頁

linux系統(tǒng)下如何使用assert函數(shù)?

瀏覽:175日期:2023-07-12 14:46:24

只要看得懂程序的人都知道assert,在Windows下使用VC編寫,使用assert之后,只需在IDE中設(shè)置為debug版或者是release版,編譯器就會自動忽略掉assert。但是在Linux下,必須要在編譯命令中加入-DNDEBUG中,系統(tǒng)編譯時才不會將assert編譯進(jìn)去。不然,程序運(yùn)行時有可能會被assert中斷。那linux系統(tǒng)下如何使用assert函數(shù)呢?下面就和大家說一下linux系統(tǒng)下使用assert函數(shù)的方法。

linux系統(tǒng)下如何使用assert函數(shù)?

步驟如下:

assert宏的原型定義在《assert.h》中,其作用是如果它的條件返回錯誤,則終止程序執(zhí)行,原型定義:

#include 《assert.h》

void assert( int expression );

assert的作用是現(xiàn)計(jì)算表達(dá)式 expression ,如果其值為假(即為0),那么它先向stderr打印一條出錯信息,

然后通過調(diào)用 abort 來終止程序運(yùn)行。

請看下面的程序清單badptr.c:

#include 《stdio.h》

#include 《assert.h》

#include 《stdlib.h》

int main( void )

{

FILE *fp;

fp = fopen( “test.txt”, “w” );//以可寫的方式打開一個文件,如果不存在就創(chuàng)建一個同名文件

assert( fp ); //所以這里不會出錯

fclose( fp );

fp = fopen( “noexitfile.txt”, “r” );//以只讀的方式打開一個文件,如果不存在就打開文件失敗

assert( fp ); //所以這里出錯

fclose( fp ); //程序永遠(yuǎn)都執(zhí)行不到這里來

return 0;

}

[root@localhost error_process]# gcc badptr.c

[root@localhost error_process]# 。/a.out

a.out: badptr.c:14: main: Assertion `fp‘ failed.

已放棄

使用assert的缺點(diǎn)是,頻繁的調(diào)用會極大的影響程序的性能,增加額外的開銷。

在調(diào)試結(jié)束后,可以通過在包含#include 《assert.h》的語句之前插入 #define NDEBUG 來禁用assert調(diào)用,示例代碼如下:

#include 《stdio.h》

#define NDEBUG

#include 《assert.h》

用法總結(jié)與注意事項(xiàng):

1)在函數(shù)開始處檢驗(yàn)傳入?yún)?shù)的合法性

如:

int resetBufferSize(int nNewSize)

{

//功能:改變緩沖區(qū)大小,

//參數(shù):nNewSize 緩沖區(qū)新長度

//返回值:緩沖區(qū)當(dāng)前長度

//說明:保持原信息內(nèi)容不變 nNewSize《=0表示清除緩沖區(qū)

assert(nNewSize 》= 0);

assert(nNewSize 《= MAX_BUFFER_SIZE);

。。。

}

2)每個assert只檢驗(yàn)一個條件,因?yàn)橥瑫r檢驗(yàn)多個條件時,如果斷言失敗,無法直觀的判斷是哪個條件失敗

不好: assert(nOffset》=0 && nOffset+nSize《=m_nInfomationSize);

好: assert(nOffset 》= 0);

assert(nOffset+nSize 《= m_nInfomationSize);

3)不能使用改變環(huán)境的語句,因?yàn)閍ssert只在DEBUG個生效,如果這么做,會使用程序在真正運(yùn)行時遇到問題

錯誤: assert(i++ 《 100)

這是因?yàn)槿绻鲥e,比如在執(zhí)行之前i=100,那么這條語句就不會執(zhí)行,那么i++這條命令就沒有執(zhí)行。

正確: assert(i 《 100)

i++;

4)assert和后面的語句應(yīng)空一行,以形成邏輯和視覺上的一致感

5)有的地方,assert不能代替條件過濾

上述也就是linux系統(tǒng)下使用assert函數(shù)方法的全部內(nèi)容了。如你還不知道在linux系統(tǒng)下如何使用assert函數(shù)的,不妨請你先看看上述的內(nèi)容啊!看完了你也就知道怎么使用assert函數(shù)了。有興趣的用戶可以去來了解一下。

標(biāo)簽: Linux系統(tǒng)
相關(guān)文章:
日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区
久久亚洲在线| 樱桃成人精品视频在线播放| 日韩欧美精品一区二区综合视频| 蜜桃视频在线观看一区| 亚洲乱码视频| 91精品国产自产在线丝袜啪| 国产亚洲高清在线观看| 久久精品一区二区国产| 国产 日韩 欧美 综合 一区| 亚洲性色av| 午夜日韩av| 日韩久久一区| 精品中文字幕一区二区三区| 91亚洲国产| 伊人久久亚洲热| 石原莉奈在线亚洲二区| 久久国产麻豆精品| 午夜精品久久久久久久久久蜜桃| 久久高清免费| 一级欧美视频| 久久av免费| 色天使综合视频| 亚洲欧美日韩国产| 日韩激情精品| xxxxx性欧美特大| aa亚洲婷婷| 国产欧美日韩在线观看视频| 欧美一级鲁丝片| 亚洲精品自拍| 国产在线观看www| 激情偷拍久久| 日本免费在线视频不卡一不卡二| 精品国产欧美日韩| 一区免费视频| 国产精品视频一区视频二区| 成人精品亚洲| 日韩综合一区二区三区| 日韩精品dvd| 香蕉久久久久久| 欧产日产国产精品视频| 亚洲日本国产| 日韩在线观看不卡| 久久黄色影视| 中文一区二区| 久草免费在线视频| 亚洲日本三级| 久久精品av| 国产精品.xx视频.xxtv| 国产亚洲在线| 精品国产鲁一鲁****| 亚洲一区观看| 高潮久久久久久久久久久久久久| 巨乳诱惑日韩免费av| 都市激情国产精品| 色狠狠一区二区三区| 色老板在线视频一区二区| 欧美久久香蕉| 亚洲五月综合| 亚洲高清不卡| 加勒比视频一区| 国产日韩一区二区三免费高清 | 久久97视频| 国产欧美自拍一区| 日韩欧美1区| 激情五月综合网| 亚洲精品a级片| 欧美国产不卡| 日韩精品社区| 六月婷婷一区| 91精品啪在线观看国产18| 日韩精品久久理论片| 欧美在线网站| 精品五月天堂| 久久国内精品| 日本成人手机在线| 蜜桃视频在线观看一区| 免费国产自久久久久三四区久久 | 国产精品天天看天天狠| 亚洲欧美在线综合| 尤物在线精品| 亚洲爱爱视频| 亚洲va中文在线播放免费| 久久香蕉精品香蕉| 国产精品一区亚洲| 青草av.久久免费一区| 亚洲精品无吗| 亚洲区国产区| 深夜福利一区| 亚洲涩涩av| 亚洲综合不卡| 国产亚洲福利| 香蕉久久国产| 一区二区91| 日本在线成人| 日韩欧美中文字幕电影| 亚洲精品激情| 日韩欧美另类中文字幕| 天堂精品久久久久| 日本不卡高清| 国产免费av一区二区三区| 日本麻豆一区二区三区视频| 亚洲综合小说| 日本视频中文字幕一区二区三区| 性色av一区二区怡红| 亚州av乱码久久精品蜜桃| 米奇777超碰欧美日韩亚洲| 婷婷丁香综合| 先锋亚洲精品| 日本亚洲视频| 久久国产精品免费一区二区三区| 久久精品99久久久| 国产精品videossex| 福利在线免费视频| 久久青草久久| 日韩专区欧美专区| 国产欧美日韩免费观看| 精品99久久| 精品一区在线| 五月亚洲婷婷 | 国际精品欧美精品| 成人欧美一区二区三区的电影| 亚洲精品一级二级| 天堂va蜜桃一区二区三区| 久久精品99久久久| 日韩免费av| 一区在线免费| 91成人精品观看| 麻豆网站免费在线观看| 亚洲少妇自拍| 国产日韩欧美一区| 日韩在线视频精品| 欧美在线亚洲| 日韩av不卡在线观看| 亚洲精品福利电影| 蜜臀久久久久久久| 久久一区亚洲| 亚洲激情婷婷| 国产剧情一区二区在线观看| 色婷婷精品视频| 亚洲+小说+欧美+激情+另类| 精品一级视频| 午夜在线视频观看日韩17c| 久久的色偷偷| 99综合视频| 国产在线一区不卡| 亚洲深爱激情| 欧美日韩亚洲三区| 亚洲不卡av不卡一区二区| 亚洲毛片视频| 伊人久久高清| 国产日韩欧美一区二区三区| 欧美成a人国产精品高清乱码在线观看片在线观看久 | 一本大道色婷婷在线| 男女男精品视频网| 欧美好骚综合网| 日欧美一区二区| 激情婷婷欧美| 激情综合婷婷| 青青草视频一区| 欧美高清不卡| 成人台湾亚洲精品一区二区| 蜜臀久久久99精品久久久久久| 日韩免费看片| 国产精品tv| 丝袜亚洲精品中文字幕一区| 日韩av二区| 日韩在线观看中文字幕| 亚洲国产专区| 国产精品久久久久蜜臀| 国产三级精品三级在线观看国产| 亚洲一区二区成人| 亚洲va中文在线播放免费| 国产精品一区二区99| 免费在线观看日韩欧美| 99久久婷婷这里只有精品| 美女视频网站久久| 欧美一区二区三区久久精品| 久久国产福利| 久久久久中文| 日韩综合一区| 麻豆精品在线视频| 日韩综合一区二区| 男女男精品视频网| 欧美日韩免费观看一区=区三区 | 欧美精品一区二区久久| 四虎国产精品免费观看| 久久爱www成人| 奇米亚洲欧美| 婷婷综合成人| 亚洲日本三级| 亚洲网址在线观看| 亚洲欧美日本国产专区一区| 久久天堂成人| 日韩不卡视频在线观看| 激情国产在线| 国产网站在线| 桃色av一区二区| 成人亚洲欧美| 国产自产自拍视频在线观看| 成人精品动漫一区二区三区|