嵌入式C语言编码规范(通用).pptVIP

  1. 1、本文档共42页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
嵌入式C语言编码规范(通用)

引言 嵌入式系统在各行各业都得到了广泛应用,C 语言的使用也越来越体现出广泛性,因此嵌入式软件的安全可靠性变得尤为重要。制定本规范的目的与意义在于: 1、树立良好的编程习惯和编程思路 ,摒弃那些可能存在风险的编程行为。保证编写出安全健壮的代码,进而保证嵌入式产品的安全性、可靠性。 2、使编写的代码更加容易阅读、容易理解而且容易维护。 3、良好的编程风格是提高程序可靠性非常重要的手段,也是大型项目多人合作开发的技术基础。 4、遵循良好的共通的编码规范,也是提高编码能力,保证软件工程这个阶段质量的一个重要手段。同时也是衡量一个组织软件开发能力的一个重要指标。 1、文件组织和内部构成 2、命名规范 规范2.1 关于文件标识符命名规则,请遵照以下规范: 文件标识符分为两部分,即文件名前缀和后缀。格式如下:×××……××.××× 1、文件名前缀表示该文件的内容或作用,可以由项目组成员统一约定。最好不要超过8 个字符;文件名前缀的最前面要使用范围限定符——模块名(文件名)缩写; 2、文件名后缀表示该文件的类型,该部分最多为3个字符: ●源文件:.c; ●头文件:.h; ●其它类型文件:如.tbl文件等,使用之前进行统一规定。 3、前缀和后缀这两部分字符应仅使用字母、数字和下划线。文件标识的长度不能超过32 个字符,以便于识别; 4、本规范建议文件名全部使用大写。 2、命名规范 规范2.2 关于模块标识符命名规则: 1、模块名就是范围限定符,各种全局标识符(文件名、全局函数名、全局变量名等)的命名,必须使用范围限定符作 为前缀。 2、模块名必须进行适当的缩写。例如Stand By 模块,省略缩写为STBY; 3、模块名要求全部为大写。 规范2.3 关于C标识符命名规则,请按照「标识符前缀」 +「含 义标识」规范进行命名。 「标识符前缀」由以下元素构成,各部分内容需要遵守相应定义: 范围限定符前缀 + 作用域前缀 + 数据类型前缀 +含义标识 「标识符前缀」 范围限定符前缀的形式为:模块名 + 下划线,即模块名_ 2、命名规范 作用域前缀: 2、命名规范 2、命名规范 2、命名规范 3、标识符和常量 规范3.1 标识符的内部有效字符和外部有效字符不能多于31 。 便于编译器识别,代码清晰易读,并保证可移植性。 规范3.2 具有内部作用域的标识符,不应与具有外部作用域的标 识符重名,这会隐藏了外部标识符(同一文件)。 在嵌套的范围中使用相同名称的标识符会使得代码非常混乱,例如: INT16U i; /* 该变量具有外部作用域 */ { INT16U i; /* 定义了一个具有内部作用域的变量*/ i = 3; /* NG :外部作用域变量被隐藏,容易引起代 …… 码混乱 */ } 规范3.3 静态变量和全局变量的标识符不能重名(不同文件)。 3、标识符和常量 [例][file1.c] static INT8U nucVar1; /* NG:多个 file 中进行了定义 */ void nvdfunc1(void) { … } [file2.c] INT8U nucVar1; /* NG:多个 file 中进行了定义 */ INT8U nucVar2; void nvdfunc2(void) { … } 3、标识符和常量 规范3.4 一个命名空间中与另外一个命名空间中不应存在拼写相 同的标识符,除了结构和联合中的成员名字。 [例1]: NG:在不同命名空间之间的标识符再次被使用 struct stag{ INT8U ucVar1; INT8U ucVar2; } stag_st; void nvdnvdfunc2(void){ INT8U stag; /* NG:与结构体重名 */ INT8U ucVar1; /* NG:与结构体成员重名*/ } [例2] OK:结构体或者共用体的成员名分别命名 struct stag1{ INT8U ucVar1; INT8U ucVar2; }; struct stag2{ INT8U ucVar1; /* OK */ INT8U ucVar2; /* OK */ }; union stag3{ I

文档评论(0)

baoyue + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档