随笔分类 - 编码技巧规范与编译调试
主要包含:C,C++,python等编程语言的编程技巧,编码规范,编码风格;关注各种编程环境下的各种调试技术,编译方式方法,调试技巧
摘要:#define、const、typedef的区别#define 并不是定义变量, 只是用来做文本替换 例如: #define PI 3.1415926 float angel; angel=30*PI/180; 那么,当程序进行编译的时候,编译器会首先将 “#define P...
阅读全文
摘要:《软件调试的艺术》学习笔记——GDB使用技巧摘要《软件调试的艺术》,因为名是The Art of Debugging with GDB, DDD, and Eclipse. 作者是美国的Norman Matloff和Peter Jay Salzman,中文版由张云翻译。是人邮出版社图灵程序设计丛书初...
阅读全文
摘要:Google C++编程风格指南 - 中文版 from http://code.google.com/p/google-styleguide/ 版本: 3.133原作者: Benjy Weinberger Craig Silverstein ...
阅读全文
摘要:这些常用的 gcc/g++ 命令行参数,你都知道么?1. gcc -E source_file.c -E,只执行到预编译。直接输出预编译结果。2. gcc -S source_file.c -S,只执行到源代码到汇编代码的转换,输出汇编代码。3. gcc -c source_file....
阅读全文
摘要:GDB调试的一些很有用经验: 1. gdb调试,如果有参数,可以在run命令后加,也可以使用set args ;如果是使用gdbserver+gdb的远程调试方式,参数可以在gdbserver后面加。 2. gdbserver通过网络远程调试一个正在运行的进程:gdbserver I...
阅读全文
摘要:调试的艺术——Debug技巧总结(本文从写好的wiki里粘出来的,格式稍乱不影响阅读) 用Q+编号代表问题,A+编号代表答案。用这种方式组织。如无特别说明,这些技巧都是针对Visual Studio 2003的 汇编级的问题我作为一个逻辑程序只能说略知皮毛,内容仅为抛砖引玉,说法不严谨之处希望...
阅读全文
摘要:常用shell脚本命令 1、显示包含文字aaa的下一行的内容: sed -n '/aaa/{n;p;}' filename 2、删除当前行与下一行的内容: sed -i '/aaa/{N;d;}' filename 3、 删除当前行与下两行...
阅读全文
摘要:shell常用逻辑判断 -b file 若文件存在且是一个块特殊文件,则为真 -c file 若文件存在且是一个字符特殊文件,则为真 -d file 若文件存在且是一个目录,则为真 ...
阅读全文
摘要:linux中shell变量$#,$@,$0,$1,$2的含义解释:变量说明:$$ Shell本身的PID(ProcessID)$! Shell最后运行的后台Process的PID$? 最后运行的命令的结束代码(返回值)$- 使用Set命令设定的Flag一览$*...
阅读全文
摘要:Glibcglibc是gnu发布的libc库,也即c运行库。glibc是linux系统中最底层的api(应用程序开发接口),几乎其它任何的运行库都会倚赖于glibc。glibc除了封装linux操作系统所提供的系统服务外,它本身也提供了许多其它一些必要功能服务的实现,主要的如下: (1)st...
阅读全文
摘要:编译优化: 基本原则就是“以空间换时间” tmpfs: 解决IO瓶颈,充分利用本机内存资源 make -j: 充分利用本机计算资源 distcc: 利用多台计算机资源 ccache: 减少重复编译相同代码的时间 项目越来越大,每次需要重新编译整个项目都是一件很浪费时间的事情。Research了一下,
阅读全文
摘要:linux进程后台运行的几种方法: 我们经常会碰到这样的问题,用 telnet/ssh 登录了远程的 Linux 服务器,运行了一些耗时较长的任务, 结果却由于网络的不稳定导致任务中途失败。 如何让命令提交后不受本地关闭终端窗口/网络断开连接的干扰呢?下面举了一些例子, 您可以针对不同的...
阅读全文
摘要:linux系统程序设计教程第一章:生成一个Process(进程) 进程是什么?简单地说,进程就是在执行状态下的一个程序(包括CPU状态,所占内存的状态,等等) A进程生成了B进程,也就是说,A程序在执行的时候,又生成了另一个进程B。这个时候,我们可以把A进程叫做父进程,把B进程叫做子进程...
阅读全文
摘要:Posix线程编程指南Posix线程编程指南... 1一线程创建与取消... 2线程创建... 21.线程与进程... 22. 创建线程... 23. 线程创建属性... 24. 创建的Linux实现... 3线程取消... 31. 消的定义... 32. 线程取消的语义... 43. 取消点......
阅读全文
摘要:引言当您经常使用某个系统时,往往会陷入某种固定的使用模式。有时,您没有养成以尽可能最好的方式做事的习惯。有时,您的不良习惯甚至会导致出现混乱。纠正此类缺点的最佳方法之一,就是有意识地采用抵制这些坏习惯的好习惯。本文提出了 10 个值得采用的 UNIX 命令行习惯——帮助您克服许多常见使用怪癖,并在该...
阅读全文
摘要:Linux系统下访问U-BOOT环境变量 移植过U-BOOT的人,都知道:在U-BOOT中存有ENV。但U-BOOT在引导内核启动之后,U-BOOT的生命周期就结束了。那么启动LINUX内核之后,U-Boot的环境变量还在么?按照u-boot对Flash的规划:ENV存放在Flash的0x60000
阅读全文
摘要:总结linux内核开发的coding style, 便于以后写代码时参考.下面只是罗列一些规则, 具体说明可以参考: 内核源码(Documentation/CodingStyle) 01 - 缩进 缩进用 Tab, 并且Tab的宽度为8个字符 swich 和 case对齐, 不用缩进 ...
阅读全文
摘要:整洁代码的4个提示虽然这样的文章非常的多,并且,就算是对于编程新手来说,也是非常的简单和显而见,但是,在我们进行Code Review过程中,我们还是能够看到那些非常混乱的代码,所以,有些时候,你会在想,是不是这样的规则太多了,导致我们的程序员记不住。虽然我们在以前的文章中一遍又一遍的说过(比如:《...
阅读全文
摘要:五种应该避免的代码注释在酷壳,有很多文章都提到了代码注释,如:《十条不错的编程观点》、《优质代码的十诫》、《整洁代码的4个提示》、《惹恼程序员的十件事》等等。今天,某国外的程序员在这里列举五种应该避免的程序注释,我觉得比较有道理,但我觉得有少数几个观点也并不绝对。所以,我把原文的这五种应该避免的程序...
阅读全文
摘要:基本结构编辑 结构化程序设计的三种基本结构是:顺序结构、选择结构和循环结构。顺序结构 顺序结构表示程序中的各操作是按照它们出现的先后顺序执行的。选择结构 选择结构表示程序的处理步骤出现了分支,它需要根据某一特定的条件选择其中的一个分支执行。选择结构有单选择、双选择和多选择三种形式。循环结构 ...
阅读全文

浙公网安备 33010602011771号