进入的新的岗位C++服务端开发——C++编码规范和Linux中g++编译与Makefile
1、头文件:每个.cc文件通常对应一个.h文件,在.h文件中将实体具有的功能以及属性等抽象出来,这样可以增强代码的可读性,.cc文件的大小,性能等
2、在编写.h头文件时使用#define防止被多重包含,格式为:
#ifndef FOO_BAR_BAZ_H_
#define FOO_BAR_BAZ_H_
个人发挥区······
#endif // FOO_BAR_BAZ_H_
3、提倡使用include包含头文件即可,替代前置声明。使用#include的路径及顺序:使用标准的头文件包含顺序可增强可读性, 避免隐藏依赖: C 库, C++ 库, 其他库的 .h, 本项目内的 .h.例如,google-awesome-project/src/base/logging.h 应该按如下方式包含:
#include “base/logging.h”
4、作用域:在 .cc 文件内使用匿名命名空间或 static 声明. 使用具名的命名空间时, 其名称可基于项目名或相对路径. 禁止使用 using 指示(using-directive)。禁止使用内联命名空间(inline namespace)。namespace可以很好的帮助我们实现逻辑的分组。对命名空间中成员的引用,需要使用命名空间的作用域解析运算符::。命名空间中编写类时不使用缩进
5、Linux下使用g++编译.cc文件命令格式:g++ -c filename.cc -o targetfile.o,.o生成的是目标文件或者可执行文件。-c表示之编译不链接,-o指定生成的输出文件,-E仅执行编译预处理,-S是将C代码转换成汇编代码,-wall是将编译时的警告信息显示出来。如果是将多个.o的中间目标文件编译为最终的可执行文件,则是g++ filename.o filename.o -o finaltarget。
6、C++编码规范现在一般都是参照的GooGle的开源项目风格指南:这个是链接,一起学习。http://zh-google-styleguide.readthedocs.io。
以上是自己学习的个人笔记,肯定有理解的不好的,望包涵和指正,谢谢。