同学会网站建设方案,网站群建设意见征集,wordpress设置中文失败,重庆建网站诚选快忻科技悉心1.引入 assert.h 头⽂件定义了宏 assert() #xff0c;⽤于在运⾏时确保程序符合指定条件#xff0c;如果不符合#xff0c;就报错终⽌运⾏。这个宏常常被称为“断⾔”。
2.应用
assert(p ! NULL); 上⾯代码在程序运⾏到这⼀⾏语句时#xff0c;验证变量 p 是否等于 …1.引入 assert.h 头⽂件定义了宏 assert() ⽤于在运⾏时确保程序符合指定条件如果不符合就报错终⽌运⾏。这个宏常常被称为“断⾔”。
2.应用
assert(p ! NULL); 上⾯代码在程序运⾏到这⼀⾏语句时验证变量 p 是否等于 NULL 。如果确实不等于 NULL 程序继续运⾏否则就会终⽌运⾏并且给出报错信息提⽰。 assert() 宏接受⼀个表达式作为参数。如果该表达式为真返回值⾮零 assert() 不会产⽣任何作⽤程序继续运⾏。如果该表达式为假返回值为零 assert() 就会报错在标准错误流 stderr 中写⼊⼀条错误信息显⽰没有通过的表达式以及包含这个表达式的⽂件名和⾏号。 assert() 的使⽤对程序员是⾮常友好的使⽤ assert() 有⼏个好处它不仅能⾃动标识⽂件和出问题的⾏号还有⼀种⽆需更改代码就能开启或关闭 assert() 的机制。如果已经确认程序没有问题不需要再做断⾔就在 #include assert.h 语句的前⾯定义⼀个宏 NDEBUG 。 #define NDEBUG
#include assert.h 然后重新编译程序编译器就会禁⽤⽂件中所有的 assert() 语句。如果程序⼜出现问题可以移除这条 #define NDBUG 指令或者把它注释掉再次编译这样就重新启⽤了 assert() 语句。 assert() 的缺点是因为引了额外的检查增加了程序的运⾏时间。 ⼀般我们可以在 Debug 中使⽤在 Release 版本中选择禁⽤ assert 就⾏在 VS 这样的集成开发环境中在 Release 版本中直接就是优化掉了。这样在debug版本写有利于程序员排查问题在 Release 版本不影响⽤⼾使⽤时程序的效率。