使用C语言开发项目的一些心得
2014-10-16 22:27
225 查看
1、头文件不定义变量,函数。
当定义全局变量/函数,并且被多个源文件包含时会出现错误。
当定义静态变量/函数,并且被多个源文件包含时会出现内存浪费。
2、头文件要包含该头文件所需的头文件
否则,头文件的包含顺序将严重影响代码编译。
举个例子:
不然每次在加A.H之前,一定要先加common.h,所以代码改为:
3、函数名不要一样
虽然不同的源文件使用静态的同名函数不会产生编译链接错误,但是在查看测试代码时会造成一些困扰,问题还是可以解决的,但是麻烦。
4、结构体类型名称不要一样,即使一样,也不要定义不一样!!!不要重复定义,尽量用原来的。这要求头文件的设计要尽量合理
我们公司的代码就是存在这样的问题,不同的地方都定义了ST,但是定义却不一样,公司的编译器没出错,移植到VS平台就出错了!
5、文件名不要一样!
当定义全局变量/函数,并且被多个源文件包含时会出现错误。
当定义静态变量/函数,并且被多个源文件包含时会出现内存浪费。
2、头文件要包含该头文件所需的头文件
否则,头文件的包含顺序将严重影响代码编译。
举个例子:
/*******A.H*******/ void func(ST *pST); /****common.h****/ typedef struct ST{...}ST; /*****MAIN.C*****/ #include "common.h" #include "A.H"个人认为这样写法不好,A.H用到了ST的定义,要把ST定义的头文件加进去。
不然每次在加A.H之前,一定要先加common.h,所以代码改为:
/*******A.H*******/ #include "common.h" void func(ST *pST); /****common.h****/ typedef struct ST{...}ST; /*****MAIN.C*****/ #include "A.H"
3、函数名不要一样
虽然不同的源文件使用静态的同名函数不会产生编译链接错误,但是在查看测试代码时会造成一些困扰,问题还是可以解决的,但是麻烦。
4、结构体类型名称不要一样,即使一样,也不要定义不一样!!!不要重复定义,尽量用原来的。这要求头文件的设计要尽量合理
我们公司的代码就是存在这样的问题,不同的地方都定义了ST,但是定义却不一样,公司的编译器没出错,移植到VS平台就出错了!
5、文件名不要一样!
相关文章推荐
- 使用C语言开发项目的一些心得
- NGUI研究院之开发项目的一些使用心得比较细节(五)
- 使用mint-ui开发项目的一些心得(分享)
- NGUI研究之开发项目的一些使用心得比较细节
- (原创)使用Maven进行项目构建与开发的心得
- 探讨开发项目研发管理平台的一些心得
- Android使用NDK开发项目时的一些问题
- 关于使用Axure RP进行原型开发的一些心得体会
- 对近期使用Nhibernate开发的一个项目的一些总结(一)
- 今天使用eclipse-hilos版本的开发项目遇到一些问题
- Obj-C语言开发iOS项目使用反射减少代码工作
- VR项目开发中的一些心得,持续更新
- 使用D2010开发DATASNAP的一些心得。
- 最近利用flex开发项目的一些心得
- 原创:关于一些Java开发工具的使用心得(不断更新)
- 关于淘宝 TOP 开发 使用的一些心得,问题不断更新中。。。
- 初次使用SSH框架开发项目心得
- 最近项目中使用JDBC的一些心得
- 使用mvvm框架avalon开发公司内部运营管理系统的一些心得
- 关于使用Java开发工具的一些心得