- 1、本文档共16页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
HUAWEI TECHNOLOGIES CO., LTD. Huawei Confidential 英文标题:32-35pt 颜色: R153 G0 B0 内部使用字体 : FrutigerNext LT Medium 外部使用字体 : Arial 中文标题:30-32pt 颜色: R153 G0 B0 字体:黑体 英文正文:20-22pt 子目录 (2-5级) :18pt 颜色:黑色 内部使用字体 : FrutigerNext LT Regular 外部使用字体 : Arial 中文正文:18-20pt 子目录(2-5级):18pt 颜色:黑色 字体:细黑体 配色参考方案: 建议同一页面内不超过四种颜色,以下是13组配色方案,同一页面内只选择一组使用。(仅供参考) 客户或者合作伙伴的标志放在右上角. 英文目录标题:35-40pt 颜色: R153 G0 B0 内部使用字体 : FrutigerNext LT Medium 外部使用字体 : Arial 中文目录标题:35-40pt 颜色: R153 G0 B0 字体:黑体 英文目录正文:28-30pt 子目录 (2-5级) :20-30pt 颜色:黑色 内部使用字体 : FrutigerNext LT Regular 外部使用字体 : Arial 中文目录正文:28-30pt 子目录(2-5级):20-30pt 颜色:黑色 字体:细黑体 Thank you HUAWEI TECHNOLOGIES CO., LTD. Huawei Confidential Security Level: 英文标题:40-47pt 副标题:26-30pt 字体颜色:反白 内部使用字体 : FrutigerNext LT Medium 外部使用字体 : Arial 中文标题:35-47pt 字体:黑体 副标题:24-28pt 字体颜色:反白 字体:细黑体 * PSST系统工程部 C语言软件编程规范工作组 公司常见软件编程低级错误:空指针 前言 这套材料作为编程规范的辅助材料,帮助大家理解编程规范背后的原理。 C和C++语言是我司的主流编程语言,然而C/C++具有很多强大的语言特性,从而导致C/C++非常复杂,使得代码更容易出现BUG、难以阅读和维护。 业界知名的编程规范都对C/C++容易出现问题的语言特性进行管理。例如MISRA(汽车工业软件可靠性联合会)制定的1998版的MISRAC规范指出,一些在C看来可以接受,却存在隐患的地方有127处之多。2004版的MISRAC规范将针对C语言的规则增加到了141条。 对于程序员来说,能工作的代码并不等于“好” 代码。“好”代码的指标很多,包括可读性、可维护性、可移植性和可靠性等。出现网上问题的代码,大多数是不良编程习惯引起的。不遵守编程规范的代码,往往也是最不可靠的代码。 本胶片收集了常见的空指针案例,给出了相应的纠正措施。 申请内存没有捕获异常 【问题描述】Web服务器返回500错误。 【问题定位】New内存失败,不会返回NULL,而会抛出异常,但代码中没有捕获这个异常 【根本原因】C++语言中New内存失败后可以出现两种情况,一种是返回NULL,一种是抛出异常。可以在调用New函数时使用参数指定,也可以在编译选项中统一选择一种处理方式。项目组没有明确规定采用哪种处理方式,开发人员根据以前项目组的经验调用New函数后,判断是否非空,但在这个项目中即使New失败也不会返回NULL。 【举一反三】项目组必须规定统一的编程规范。维护老代码时,注意弄清楚老代码的设计和编程的规则。 没有判断全局指针非空 【问题描述】当主控板起来但接口板还没有起来时,使用命令undo rule-map删除所有的Rule-map,出现DA异常。 【问题定位】在删除Rule-map时,如果它引用了Link-group,则将Link-group中的pLink的引用计数减一。开发人员认为全局变量pLink永远不可能为NULL,所以没有判断其合法性。 正常情况下,pLink确实不可能为NULL,但当系统重启时,先恢复了Rule-map,在恢复Link-group之前,pLink指针为NULL。此时如果从命令行删除所有的Rule-map,就会出现DA异常。 【纠正措施】访问pLink之前,判断其是否为NULL 【根本原因】多个模块相互配合时,可能出现千奇百怪的调用顺序,开发人员认为永远不可能为NULL的参数,实际网络中却很可能发生。 【举一反三】外部接口传入的参数,或其它模块维护的全局变量,使用之前必须判断是否合法 没有判断外部传入指针非空 【问题描述】终端向服务器注册,
您可能关注的文档
- 人教版小学语文四下五上.常考课文(教参)资料.doc
- 人教版小学语文五年级上册《开国大典》课件资料.ppt
- A rose for Emily中译本赏析,以杨岂深的译本为例.docx
- A heat pump system with a latent heat storage utilizing seawater installed in an aquarium.doc
- A Visit to the Moon 知识点.ppt
- A 第2.3章 无耗线工作状态.ppt
- 如何做一名成功的超市店长资料.ppt
- 人教版小学语文五年级上册《珍珠鸟》课件_资料.ppt
- A 门店组织结构图.ppt
- A-Master-of-Nonverbal-Humour.ppt
文档评论(0)