当前位置: 首页 > news >正文

仙居做网站在哪里做西安广告设计与制作公司

仙居做网站在哪里做,西安广告设计与制作公司,php网站开发语言的优点,深圳高端平台文章目录 主要内容调试和发布模式使用示例用法总结与注意事项 断言是一种用于在程序执行过程中进行调试的工具#xff0c;能够帮助开发者验证程序的某些假设是否为真。如果断言失败#xff0c;程序会终止#xff0c;并输出一个错误消息#xff0c;通常包含出错的文件名和行… 文章目录 主要内容调试和发布模式使用示例用法总结与注意事项 断言是一种用于在程序执行过程中进行调试的工具能够帮助开发者验证程序的某些假设是否为真。如果断言失败程序会终止并输出一个错误消息通常包含出错的文件名和行号。这对于调试和测试非常有帮助。 主要内容 assert是一个宏并不是函数。assert 宏接受一个表达式作为参数如果该表达式的值为假0它会 打印一条错误信息指出断言失败的表达式以及出错的文件名和行号。调用 abort 函数终止程序执行。 具体的实现可以简单概括如下 #define assert(expression) ((expression) ? (void)0 : __assert_fail(#expression, __FILE__, __LINE__))void __assert_fail(const char *expr, const char *file, int line) {fprintf(stderr, Assertion failed: (%s), file %s, line %d.\\n, expr, file, line);abort(); } /*助于理解 assert 功能 */调试和发布模式 在调试模式下断言可以帮助捕捉程序中的错误。而在发布模式下通常会禁用断言以提高程序性能。可以通过定义 NDEBUG 宏来禁用断言 #define NDEBUG // 使用时一定要在包含assert库函数前定义 #include assert.h一旦定义了 NDEBUGassert 宏将被定义为空操作不会进行任何检查或中断程序 #ifdef NDEBUG #define assert(expression) ((void)0) #else #define assert(expression) ((expression) ? (void)0 : __assert_fail(#expression, __FILE__, __LINE__)) #endif 使用示例 #include stdio.h #include assert.hint main() {int x 5;assert(x 5); // 断言成功不会中断程序printf(x is 5\n);x 3;assert(x 5); // 断言失败程序终止printf(This line will not be executed.\n);return 0; }/*在这个示例中第一次断言 x 5 是成功的程序继续执行并输出 x is 5。第二次断言 x 5 失败程序会终止并输出错误信息。 */用法总结与注意事项 每个assert只检验一个条件同时检验多个条件时,如果断言失败,无法直观的判断是哪个条件失败 有的地方,assert不能代替条件过滤 只用于调试断言主要用于调试阶段确保代码逻辑的正确性。在发布版本中通常会禁用断言因此不要依赖断言来处理运行时错误或进行关键性检查。 不要在断言中有副作用断言表达式中不应包含会改变程序状态的操作。 // 错误示例 assert(free(ptr) 0); // 这样写会导致发布版本中 free 函数不执行/* 例如不要在断言中进行函数调用或修改变量的操作因为在发布版本中这些操作可能不会执行。 */条件表达式要简单明确断言的条件表达式应简单明了确保容易理解和调试。复杂的表达式可能会导致调试困难。 不要在生产代码中依赖断言断言不应替代常规的错误处理机制。对于需要在生产环境中处理的错误应使用适当的错误处理代码如 if 语句和错误码。 正确使用 NDEBUG 宏在发布版本中通过定义 NDEBUG 宏来禁用断言。这可以在编译选项中定义或在源代码中定义 #define NDEBUG #include assert.h避免在性能关键的代码中使用断言虽然断言在调试阶段很有帮助但在性能关键的代码路径中使用断言可能会影响调试阶段的性能。可以在调试阶段临时移除或减少这些断言以进行性能测试。 保证断言条件的重要性断言条件应当是真正的重要检查而不是无关紧要的小检查。这些条件应反映代码的关键假设或不变量。 文档化断言在复杂或关键的代码中记录断言的目的和含义帮助其他开发者理解断言的意图和背景。
http://www.hkea.cn/news/14391633/

相关文章:

  • 青岛市建设安全监督站网站房屋设计网站有哪些
  • 做网站用到的单词教学直播平台网站建设费用
  • 关键词做网站名字second是什么意思
  • 大型网站服务器得多少钱查公司查企业用什么网站
  • 找人开发软件去什么网站有些网站开发人员工具无反应
  • 推进网站集约化建设苏州长尾词seo排名优化
  • 校园网站建设申请做商城网站企业
  • 怎样能让百度搜到自己的网站网站前端改版涉及到的问题
  • 局域网视频网站建设四川华远建设工程有限公司网站
  • 建立一个网站大约要多少钱人才招聘网站模板html
  • 什么是营销网站网站建设 微信开发
  • 网站为什么要改版备案变更网站信息
  • 你会怎么做外国的网站吗图片编辑器在线使用
  • 网站建设的安全性上海公司买新能源车需要什么条件
  • 网站网站营销特点wordpress 友情链接分类
  • 网站下载的视频怎么变成本地视频公司注销预审在什么网站做
  • 团购网站开发语言永久免费vps服务器
  • 装饰行业做网站桂林景区网站建设策划方案
  • 网站备案号位置seo教程技术优化搜索引擎
  • 做团餐 承包食堂的企业网站基于wordpress的网站
  • 无锡整站百度快照优化记事本做网站怎么加图片
  • 长春找工作哪个网站好免费app制作网站
  • 宁波网站建设优化服务公司越南注册公司需要什么条件
  • 广告网站推广销售wordpress 窗口
  • 嵊州市建设局网站西安企业做网站
  • 移动端网站建设方案久久w 网
  • 做网站推广怎么说广告词百度竞价渠道代理
  • 电商模板下载的网站百联网上购物商城
  • 北京网站开发教师招聘网站可分为哪两种类型
  • 最简单的网站代码技术网站模版