在线亚洲黄色-在线亚洲观看-在线亚洲电影-在线亚洲成人-岛国大片在线观看免费版-岛国大片在线播放高清

我來(lái)教你linux系統(tǒng)下如何使用assert函數(shù)

導(dǎo)讀步驟如下:assert宏的原型定義在《assert.h》中,其作用是如果它的條件返回錯(cuò)誤,則終止程序執(zhí)行,原型定義。#include《assert.h》。voidassert(intexpression)。assert的作用是現(xiàn)計(jì)算表達(dá)式expression,如果其值為假(即為0),那么它先向stderr打印一條出錯(cuò)信息。然后通過(guò)調(diào)用abort來(lái)終止程序運(yùn)行。請(qǐng)看下面的程序清單badptr.c。#include《stdio.h》。#include《assert.h》。#include《stdlib.h》。intmain(void)。{;FILE*fp。fp=fopen(“test.txt”,“w”);//以可寫(xiě)的方式打開(kāi)一個(gè)文件,如果不存在就創(chuàng)建一個(gè)同名文件。

只要看得懂程序的人都知道assert,在Windows下使用VC編寫(xiě),使用assert之后,只需在IDE中設(shè)置為debug版或者是release版,編譯器就會(huì)自動(dòng)忽略掉assert。但是在Linux下,必須要在編譯命令中加入-DNDEBUG中,系統(tǒng)編譯時(shí)才不會(huì)將assert編譯進(jìn)去。不然,程序運(yùn)行時(shí)有可能會(huì)被assert中斷。那linux系統(tǒng)下如何使用assert函數(shù)呢?下面就和大家說(shuō)一下linux系統(tǒng)下使用assert函數(shù)的方法。步驟如下:assert宏的原型定義在《assert.h》中,其作用是如果它的條件返回錯(cuò)誤,則終止程序執(zhí)行,原型定義:#include《assert.h》voidassert(intexpression);assert的作用是現(xiàn)計(jì)算表達(dá)式expression,如果其值為假(即為0),那么它先向stderr打印一條出錯(cuò)信息,然后通過(guò)調(diào)用abort來(lái)終止程序運(yùn)行。請(qǐng)看下面的程序清單badptr.c:#include《stdio.h》#include《assert.h》#include《stdlib.h》intmain(void){FILE*fp;fp=fopen(“test.txt”,“w”);//以可寫(xiě)的方式打開(kāi)一個(gè)文件,如果不存在就創(chuàng)建一個(gè)同名文件assert(fp);//所以這里不會(huì)出錯(cuò)fclose(fp);fp=fopen(“noexitfile.txt”,“r”);//以只讀的方式打開(kāi)一個(gè)文件,如果不存在就打開(kāi)文件失敗assert(fp);//所以這里出錯(cuò)fclose(fp);//程序永遠(yuǎn)都執(zhí)行不到這里來(lái)return0;}[root@localhosterror_process]#gccbadptr.c[root@localhosterror_process]#。/a.outa.out:badptr.c:14:main:Assertion`fp‘Failed.已放棄使用assert的缺點(diǎn)是,頻繁的調(diào)用會(huì)極大的影響程序的性能,增加額外的開(kāi)銷。在調(diào)試結(jié)束后,可以通過(guò)在包含#include《assert.h》的語(yǔ)句之前插入#defineNDEBUG來(lái)禁用assert調(diào)用,示例代碼如下:#include《stdio.h》#defineNDEBUG#include《assert.h》用法總結(jié)與注意事項(xiàng):1)在函數(shù)開(kāi)始處檢驗(yàn)傳入?yún)?shù)的合法性如:intresetBufferSize(intnNewSize){//功能:改變緩沖區(qū)大小,//參數(shù):nNewSize緩沖區(qū)新長(zhǎng)度//返回值:緩沖區(qū)當(dāng)前長(zhǎng)度//說(shuō)明:保持原信息內(nèi)容不變nNewSize《=0表示清除緩沖區(qū)assert(nNewSize》=0);assert(nNewSize《=MAX_BUFFER_SIZE);。。。}2)每個(gè)assert只檢驗(yàn)一個(gè)條件,因?yàn)橥瑫r(shí)檢驗(yàn)多個(gè)條件時(shí),如果斷言失敗,無(wú)法直觀的判斷是哪個(gè)條件失敗不好:assert(nOffset》=0&&nOffset+nSize《=m_nInfomationSize);好:assert(nOffset》=0);assert(nOffset+nSize《=m_nInfomationSize);3)不能使用改變環(huán)境的語(yǔ)句,因?yàn)閍ssert只在DEBUG個(gè)生效,如果這么做,會(huì)使用程序在真正運(yùn)行時(shí)遇到問(wèn)題錯(cuò)誤:assert(i++《100)這是因?yàn)槿绻鲥e(cuò),比如在執(zhí)行之前i=100,那么這條語(yǔ)句就不會(huì)執(zhí)行,那么i++這條命令就沒(méi)有執(zhí)行。正確:assert(i《100)i++;4)assert和后面的語(yǔ)句應(yīng)空一行,以形成邏輯和視覺(jué)上的一致感5)有的地方,assert不能代替條件過(guò)濾上述也就是linux系統(tǒng)下使用assert函數(shù)方法的全部?jī)?nèi)容了。如你還不知道在linux系統(tǒng)下如何使用assert函數(shù)的,不妨請(qǐng)你先看看上述的內(nèi)容??!看完了你也就知道怎么使用assert函數(shù)了。有興趣的用戶可以去來(lái)了解一下。

為你推薦
資訊專欄
熱門(mén)視頻
相關(guān)推薦
教你APMServApache啟動(dòng)失敗怎么辦 教你WinXP應(yīng)用程序正常初始化失敗錯(cuò)誤代碼0xc0000142怎么辦 教你如何解決局域網(wǎng)ARP欺騙和攻擊的問(wèn)題 教你WinXP系統(tǒng)電腦啟動(dòng)慢怎么辦 分享Foobar2000怎么用foobar2000怎么用BBE插件包 我來(lái)教你易語(yǔ)言如何添加進(jìn)度條源碼 分享如何使用FinalRecovery軟件高級(jí)恢復(fù)丟失數(shù)據(jù) 分享沙盤(pán)是什么 分享如何在Excel中輸入身份證號(hào)excel表格怎樣輸入身份證 教你AVG殺毒軟件怎么樣 教你nef怎么打開(kāi)NEF怎么打開(kāi)手機(jī) 分享Excel數(shù)據(jù)分析怎么用Excel怎么數(shù)據(jù)分析 我來(lái)教你Unlocker怎么用unlocker怎么下載 我來(lái)分享如何解決WinXP系統(tǒng)Internet信息服務(wù)找不到的問(wèn)題 教你一鍵還原精靈怎么用 我來(lái)教你WinXP電腦常用運(yùn)行指令的使用方法匯總 我來(lái)教你金山游俠V怎么用金山游俠2002怎么用 分享WinXP如何運(yùn)行桌面清理向?qū)?/a> 我來(lái)分享FileZilla怎么用FileZilla怎么讀 我來(lái)分享9158虛擬視頻如何使用新浪9158虛擬視頻 教你iTunes無(wú)法備份是怎么回事 教你iTunes是什么 我來(lái)教你WinXP系統(tǒng)DNS是什么 我來(lái)分享VB怎么連接訪問(wèn)Access數(shù)據(jù)庫(kù) 教你PP助手閃退怎么辦愛(ài)思助手閃退怎么辦 分享PP助手安裝失敗怎么辦蟲(chóng)蟲(chóng)助手安裝失敗怎么辦 教你什么是分布式操作系統(tǒng) 分享快用蘋(píng)果助手怎么用 我來(lái)分享WinXP系統(tǒng)CDA如何轉(zhuǎn)MP3 教你SecureCRT常用命令分享 我來(lái)教你如何使用Picasa教程 分享快用蘋(píng)果助手安裝失敗解決教程 分享電腦藍(lán)屏故障提示STOPC0000135 教你PP助手怎么用pp助手怎么用電腦下載到手機(jī)上 我來(lái)教你豌豆莢怎么用 教你金山重裝高手好用嗎 分享工行網(wǎng)銀助手無(wú)法安裝怎么辦 教你PP助手怎么下載pp助手怎么下載到ipad 分享工行網(wǎng)銀助手下載失敗怎么辦 教你在Photoshop中打開(kāi)并使用pat格式的文件的方法
Top 主站蜘蛛池模板: 欧美午夜在线视频 | 日韩视频在线免费观看 | 中文字幕一区久久久久 | 国产在线视频专区 | 欧洲日韩视频二区在线 | 午夜日韩在线 | 亚洲精品午夜国产va久久成人 | 精品国产亚一区二区三区 | 免费看成人国产一区二区三区 | 日本特级淫片免费 | 日韩a在线播放 | 丁香六月久久 | 欧美3p在线观看一区二区三区 | 国产视频不卡 | 欧美亚洲一二三区 | 久久久久女人精品毛片九一 | 韩国中文字幕 | 国产激情视频一区二区三区 | 日韩欧美在线综合网高清 | 亚洲第一页在线观看 | 国产精品特级毛片一区二区三区 | 精品国产成人综合久久小说 | 国产高清一区二区三区 | 欧美成人精品一区二区三区 | 在线观看色 | 97精品国产91久久久久久久 | 日韩亚洲欧美综合 | 久久精品一区二区 | 97久久综合区小说区图片专区 | 黄网站色视频免费观看 | 亚洲精品制服丝袜二区 | 国产福利一区二区三区在线视频 | 小说区 亚洲 自拍 另类 | 中文国产成人精品久久久 | 国产亚洲精品成人婷婷久久小说 | 国产不卡视频在线观看 | 波多野结衣乳巨码无在线观看 | 啪啪亚洲 | 国内一区亚洲综合图区欧美 | 国产91久久久久久久免费 | 亚洲啪啪网址 |