C/C++、编程
文章平均质量分 68
Peter_tang6
这个作者很懒,什么都没留下…
展开
-
C/C++之写出高质量代码
自从看了林锐博士的《高质量C++编程指南》以后,感觉自己以前写的代码都是一些垃圾,真的low,根本不知道一些基本的编程规范,然后看了一些大神写的代码,清晰易懂,而且还很漂亮,给人一种赏心悦目的感觉,写一手高质量的代码,是一个程序员最基本的素养,因此,本文就总结一些编程规范。有欠缺或者错误请大家帮忙斧正。1.原创 2017-04-06 22:54:14 · 3558 阅读 · 1 评论 -
C语言函数传参
最近在做一些笔试面试之类的题目,今天遇到一个关于C语言函数传参的问题,感觉自己的概念还是有点模糊,本篇文章再学一下关于函数传参。这是遇到的一个题目:(高质量C++编程指南)#include <stdlib.h>#include <stdio.h#include <string.h>void GetMemory(char *p, int num){ p = (char *)malloc原创 2017-08-07 15:19:53 · 1217 阅读 · 2 评论 -
内存检测工具valgrind
最近在学习数据结构的时候总是遇到关于内存错误的问题,因为数据结构这块多用指针,由此产生的段错误多不胜数,因此学习了一下valgrind这个工具,来检测我们的程序是如何出现内存问题的。centos系统下的valgrind,首先我们得有autoconf和automake两个工具,一般系统都会自配。安装过程:wget http://valgrind.org/downloads/valgrind-3.10.原创 2017-08-07 14:04:33 · 888 阅读 · 0 评论 -
中文man手册
本文讲述了一下在CentOS系统下安装中文man手册1、下载中文包; http://pkgs.fedoraproject.org/repo/pkgs/man-pages-zh-CN/manpages-zh-1.5.1.tar.gz/13275fd039de8788b15151c896150bc4/2、编译安装 tar xf manpages-zh-1.5.1.tar.gz cd manpage转载 2017-08-03 10:26:24 · 1136 阅读 · 0 评论 -
常用字符串处理函数
常用的字符串处理函数在我们平时的作用很大,在找工作的笔试面试中也经常会考到,因此,鄙人总结了一下常用的几个字符串处理函数strlenstrcpy && strncpystrcat && strncatstrcmp && strncmp以下为本人自己定义的函数strlenstrlen是用来获取字符串的长度的函数,当然,不包括最后的 ‘\0’下面是一个实现接口:/* realize of str原创 2017-07-28 11:21:36 · 511 阅读 · 0 评论 -
socket多进程TCP通信
才能的火花,常常在勤奋的磨石上迸发。 —— 威廉·李卜克内西上一篇写了一些socket基本的本地通信,本篇文章说一下我们的socket网络通信。而网络通信分为TCP协议和UDP协议,这篇文章给出的是TCP协议。TCP是传输层的协议,又为传输控制协议,在TCP通信中,我们需要必须的通信材料:端口和IP地址。IP地址是网络中的唯一标识,通过IP地址即可找到我们的计算机,因为IP地址本质为一个整数,绑定原创 2017-06-09 12:45:09 · 2743 阅读 · 0 评论 -
动静态库的制作与调用
>原创 2017-05-31 21:06:14 · 469 阅读 · 0 评论 -
gcc执行的过程
市井之徒——徒劳往返——返老还童——童牛角马——马首是瞻——瞻前顾后——后顾之忧——忧国奉公——公子王孙——孙康映雪gcc是我们Linux下编译C文件的重要工具,在用gcc对源文件进行处理时,我们知道要经历以下几个过程:预处理——编译——汇编——链接通常将前面三步统称为编译预处理执行所有的预处理命令,所有以”#”开头的指令为预处理指令,在进行预处理时,系统将我们的源文件转化成C的语法,将头文件中的原创 2017-05-31 21:44:57 · 2926 阅读 · 0 评论 -
变量的作用域与生命周期
去年今日此门中,人面桃花相映红。人面不知何处去,桃花依旧笑春风。——唐·崔护《题都城南庄》在研究变量之前先学习一下递归函数递归函数什么是递归函数?递归函数内部包含一条或多条函数调用语句,被调用函数就是它自己。 #include <stdio.h> void print(int num) { if (num == 1) { printf("1\n"原创 2017-05-26 13:19:06 · 802 阅读 · 0 评论 -
gdb调试利器的学习
作为程序员,调试程序是不可避免的,在windows下常用的IDE比如 keil 软件会有集成的debug图形化调试工具,使用起来非常简单易懂。在Linux下虽然没有图形化调试工具,但是gdb作为文本界面的调试工具其功能也是非常强大的,在这里简单介绍gdb的用法。一.调试准备1.首先我们编写一个测试程序:[cpp] view plain copy print?[lwn@VM_255_164_cen转载 2017-05-07 08:46:27 · 552 阅读 · 0 评论 -
C/C++高质量编程之函数设计
函数是C/C++语言的基本功能单元,非常重要,本章学习函数的接口设计和内部实现的一些规则。一、参数1.函数的参数必须写完整,不要省略参数名字,如果没有参数,则用void说明:int fun(int a, int b);int fun(void);2.参数的命名要恰当,顺序要合理,一般将目的参数放在前面,源参数放在后面。3.若参数为指针,仅作输入用,应该在类型前面加原创 2017-04-13 16:22:56 · 578 阅读 · 0 评论 -
C/C++高质量编程之常量
由于函数设计很重要而且很复杂,所以我打算用下一篇文章单独介绍学习,本篇文章主要讲一讲常量相关的规定。常量的值在运行期间恒定不变,C语言用宏来定义常量,C++还能用const定义。const比宏相对来说更好,因为宏没有类型,而const可以定义常量类型,有类型安全检查,易于调试。在程序中使用常量的优势:1.增加程序可读性;2.减少代码出错率;3.易于修改数字或字符串。原创 2017-04-12 20:45:10 · 575 阅读 · 0 评论 -
C/C++高质量编程(二)命名规则与表达式
上一篇讲述的是头文件与代码行的一些基本规则,本篇文章给出命名规则和表达式与基本语句的规则。命名规则: 1. 标识符应该直观而且可拼读,让人望文生义,减少读者不必要的思考量,最好采用英语单词,方便阅读,切忌使用汉语拼音来命名(由于鄙人的英语水平不高,在此之前喜欢用汉语拼音命名),当然,英文单词要准确,不能胡乱配对; 2.标识符的长度应当符合“min-length原创 2017-04-09 10:41:07 · 516 阅读 · 0 评论 -
解决复制粘贴出现的错误
proc2.c:49:5: 错误:程序中有游离的‘\240’ proc2.c:49:5: 错误:程序中有游离的‘\302’proc2.c:49:5: 错误:程序中有游离的‘\240’ proc2.c:49:5: 错误:程序中有游离的‘\302’proc2.c:49:5: 错误:程序中有游离的‘\240’ proc2.c:49:5: 错误:程序中有游离的‘\302’proc2.c:49:5:...原创 2019-01-21 11:10:20 · 4013 阅读 · 0 评论