[C/C++]编程规范一:头文件篇】的更多相关文章

一般来说,每一个.cc或者.cpp文件对应一个头文件(.h文件),当然,也有例外,例如一些测试单元或者main文件,头文件的一些规范可以令代码可读性.程序的性能等大为改观,所以还是要注意头文件的规范问题. 一.#define保护 所有头文件为了防止文件被多重包含(multiple inclusion),一般就需要#define保护.#define保护的格式如下: <PROJECT>_<PATH>_<FILE>_H_ 例如: #ifndef FOO_BAR_BARZ_H_…
最近在学习Linux网络编程方面的知识,感觉还是有些困难.主要是对协议过程的理解,还有socket的API的理解不够深刻.今天复习编写了一个TCP的服务端和客户端的程序实现client.c从命令行参数中获得一个字符串发给服务器,然后接收服务器返回的已处理的字符串并打印. server.c #include <stdio.h> #include <stdlib.h> #include <string.h> #include <unistd.h> #includ…
最近工作稍微轻松一点,就再学习了一下编码规范.遂记些笔记,以便查阅. 这次学习的是Google 开源项目风格指南中文版,地址是:http://zh-google-styleguide.readthedocs.org/en/latest/google-cpp-styleguide/,英文版的地址是:http://google.github.io/styleguide/cppguide.html. 本文的目的是方便快速查阅,所以我只简单的记录该怎么做,而没有写为什么要这样做.想要看详细分析,可查阅原…
这个技巧来自于我的实际开发碰到的: inet_addr这个函数用于把ip地址转成网络字节序,他的原型:in_addr_t inet_addr(const char *cp); 返回值为一个in_addr_t的类型,很显然这不是一个c语言的标准数据类型,想搞清楚他到底是什么类型,肯定要找到头文件,在linux系统上,头文件一般放在/usr/include下面,但是这下面非常多的头文件,根本不知道是哪个,所以: 1,第一次:grep in_addr_t /usr/include/*.h  没有结果,…
http://jimslinbing.blog.163.com/blog/static/85054319201292712414518/ 1.到http://www.apuebook.com下载源码2.tar解包,cd apue.2e3.vi Make.defines.linux   修改变量WKDIR,指向你的apue源码的位置,我的是/home/huangz/code/apue.2e,所以  WKDIR=/home/huangz/code/apue.2e4.vi include/apue.h…
前言:因为c++基础打得不牢,所以准备花点时间再学一下c++的基础知识,主要是看网易云课堂里面的免费课程,把一些知识点做个笔记记下来. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 1:编程规范 1        头文件 1.1    使用头文件保护 使用#define进行头文件保护,而不使用微软的#pragm…
intrins.h 在C51单片机编程中,头文件INTRINS.H的函数使用起来,就会让你像在用汇编时一样简便. 内部函数 描述 _crol_ 字符循环左移   _cror_ 字符循环右移   _irol_ 整数循环左移   _iror_ 整数循环右移   _lrol_ 长整数循环左移   _lror_ 长整数循环右移   _nop_ 空操作8051 NOP 指令   _testbit_ 测试并清零位8051 JBC 指令函数名: _crol_,_irol_,_lrol_   原 型: unsi…
STARTUP.A51//启动文件. 清理RAM.设置堆栈等.即执行完start.a51后跳转到.c文件的main函数 <reg51.h>  //特殊寄存器的字节地址和位地址,sfr定义字节变量.sbit定义位变量,用通俗名作为变量名,并赋地址值,从而用名称来使用这些特殊寄存器. <intrins.h> //定义了一些外部函数,在C51单片机编程中,头文件INTRINS.H的函数使用起来,就会让你像在用汇编时一样简便. /*-----------------------------…
摘要: 各司其责:应该确保所编写的每个头文件都能够独自进行编译,为此需要包含其内容所依赖的所有头文件. 如果一个文件包含某个头文件时,还要包含另一个头文件才能工作,就会增加交流障碍,给头文件的用户增添不必要的负担. 现在的C++编译器基本上都能够自动识别头文件保护符,甚至不会两次打开同一个头文件.有些编译器还提供了预编译的头文件,有助于确保不会经常分析那些常用而且很少变化的头文件. 但是要记住一点,不要包含并不需要的头文件,它们只会带来凌乱的依赖性.在编写程序时,构建时,应独立编译每个头文件,并…
google C++编程风格对头文件的包括顺序作出例如以下指示: (1)为了加强可读性和避免隐含依赖,应使用以下的顺序:C标准库.C++标准库.其他库的头文件.你自己project的头文件.只是这里最先包括的是首选的头文件,即比如a.cpp文件里应该优先包括a.h. 首选的头文件是为了降低隐藏依赖,同一时候确保头文件和实现文件是匹配的.详细的样例是:假如你有一个cc文件(linux平台的cpp文件后缀为cc)是google-awesome-project/src/foo/internal/foo…