摘要: 各司其责:应该确保所编写的每个头文件都能够独自进行编译,为此需要包含其内容所依赖的所有头文件. 如果一个文件包含某个头文件时,还要包含另一个头文件才能工作,就会增加交流障碍,给头文件的用户增添不必要的负担. 现在的C++编译器基本上都能够自动识别头文件保护符,甚至不会两次打开同一个头文件.有些编译器还提供了预编译的头文件,有助于确保不会经常分析那些常用而且很少变化的头文件. 但是要记住一点,不要包含并不需要的头文件,它们只会带来凌乱的依赖性.在编写程序时,构建时,应独立编译每个头文件,并…
google C++编程风格对头文件的包括顺序作出例如以下指示: (1)为了加强可读性和避免隐含依赖,应使用以下的顺序:C标准库.C++标准库.其他库的头文件.你自己project的头文件.只是这里最先包括的是首选的头文件,即比如a.cpp文件里应该优先包括a.h. 首选的头文件是为了降低隐藏依赖,同一时候确保头文件和实现文件是匹配的.详细的样例是:假如你有一个cc文件(linux平台的cpp文件后缀为cc)是google-awesome-project/src/foo/internal/foo…
socket编程中需要用到的头文件 sys/types.h:数据类型定义 sys/socket.h:提供socket函数及数据结构 netinet/in.h:定义数据结构sockaddr_in arpa/inet.h:提供IP地址转换函数 netdb.h:提供设置及获取域名的函数 sys/ioctl.h:提供对I/O控制的函数 sys/poll.h:提供socket等待测试机制的函数 其他在网络程序中常见的头文件 unistd.h:提供通用的文件.目录.程序及进程操作的函数 errno.h:提供…
第一步进入:www.unpbook.com,下载unp的随书代码.新建一个目录,将压缩包拷贝到这一目录下面,然后将压缩包直接解压:tar -zxvf  压缩包名.tar.gz 完成上一步后,进入到unpv13e目录下执行下面的步骤(目的是为了得到linunp.a静态库): ./configure cd lib make cd../libfree make cd ../libgai make 然后将生成的libunp.a静态库复制到 /usr/lib/ 和 /usr/lib64/中: 首先回到un…
记录学习,方便以后查看.  2014-12-28 看完这本书,但是我做到的又有多少呢?确实有一部分 0 不要拘泥于小节 1 在高警告级别干净利落的进行编译,不放过任何警告 2 使用自动构建系统 3 使用版本控制系统VCS 4 在代码审查上投入,对于人交流 5 一个实体应该只有一个紧凑的职责(一次只解决一个问题) 6 正确.简单和清晰第一 7 编程中应知道何时和如何考虑可伸缩性(线性算法优先) 8 不要进行不成熟的优化 9 不要进行不成熟的劣化 10 尽量减少全局和共享数据 11 隐藏信息(不要公…
最近在学习Linux网络编程方面的知识,感觉还是有些困难.主要是对协议过程的理解,还有socket的API的理解不够深刻.今天复习编写了一个TCP的服务端和客户端的程序实现client.c从命令行参数中获得一个字符串发给服务器,然后接收服务器返回的已处理的字符串并打印. server.c #include <stdio.h> #include <stdlib.h> #include <string.h> #include <unistd.h> #includ…
这是一本好书, 可以让你认清自己对C++的掌握程度.看完之后,给自己打分,我对C++了解多少? 答案是不足20分.对于我自己是理所当然的问题, 就不提了, 记一些有启发的条目和细节: (*号表示不能完全理解,实力升级了之后回头看) 一般性问题: 1. 不要在注释中重复写代码语义,这样很容易产生不一致. 应该编写的是解释方法和原理的说明性注释. 2. 不要对每个项目每个文件进行强制的排版格式规定, 在同一个文件中风格一致即可. 3. 匈牙利记法是混用了类型不安全语言中的设施, 在面向对象语言中可以…
这是一本好书, 可以让你认清自己对C++的掌握程度. 看完之后,给自己打分,我对C++了解多少? 答案是不足20分. 对于我自己是理所当然的问题, 就不提了, 记一些有启发的条目和细节: (*号表示不能完全理解,实力升级了之后回头看) 一般性问题: 1. 不要在注释中重复写代码语义,这样很容易产生不一致. 应该编写的是解释方法和原理的说明性注释. 2. 不要对每个项目每个文件进行强制的排版格式规定, 在同一个文件中风格一致即可. 3. 匈牙利记法是混用了类型不安全语言中的设施, 在面向对象语言中…
<C+编程规范 101条规则.准则与最佳实践> 0.不要拘泥于小节(了解哪些东西不应该标准化) * 与组织内现有编码规范一致即可 * 包括但不限于: - 缩进 - 行长度 - 命名规范 - 注释形式 - 空格/制表符 1.在高警告级别干净利落地进行编译 * 使用编译器的最高警告级别,构建完应用程序后应该是0警告. 理解所有的警告,通过修改代码而不是降低警告级别来消除警告. * VS警告级别: - /W0 关闭所有警告 - /W1 显示严重警告 - /W2 显示等级1以及某些不太严重的警告 -…
这是一本好书, 可以让你认清自己对C++的掌握程度. 看完之后,给自己打分,我对C++了解多少? 答案是不足20分. 对于我自己是理所当然的问题, 就不提了, 记一些有启发的条目和细节: (*号表示不能完全理解,实力升级了之后回头看) 一般性问题: 1. 不要在注释中重复写代码语义,这样很容易产生不一致. 应该编写的是解释方法和原理的说明性注释. 2. 不要对每个项目每个文件进行强制的排版格式规定, 在同一个文件中风格一致即可. 3. 匈牙利记法是混用了类型不安全语言中的设施, 在面向对象语言中…