代码改变世界

C语言中的条件编译

2011-11-29 10:29 by chonghui1001, 187 阅读, 0 推荐, 收藏, 编辑
摘要:1.条件编译的好处,避免重复2.修改方便#ifdef......#else......#endif 阅读全文

vim 使用总结

2011-11-23 10:24 by chonghui1001, 177 阅读, 0 推荐, 收藏, 编辑
摘要:1.替换一个字符命令 r2.替换一个词命令: .,$s/\<du\>/wen/g3.使用u命令撤消后可以使用c+R返回4.关闭高亮搜索结果 方法一::nohlsearch 方法二:/awertgvcxz (查找一个肯定不存在的字符串) 设置了高亮搜索(:set hlsearch)以后,可以通过 :set nohlsearch 永久地关闭高亮 显示,也可以通过 :nohlsearch 暂时关闭高亮显示,下次搜索时将自动恢复高亮。 阅读全文

shell 编程中的特殊字符的处理

2011-11-23 10:21 by chonghui1001, 273 阅读, 0 推荐, 收藏, 编辑
摘要:1.#A.#一般表示注释,但是有特殊的情况,比如#!则不是注释B.此外还可以表示参数的替换比如:echo ${PATH#* :}C.数制的转换比如 echo $(( 2#1011 )) 阅读全文

Linux 命令使用总结

2011-11-23 10:05 by chonghui1001, 151 阅读, 0 推荐, 收藏, 编辑
摘要:date 命令如果要添加输出的格式: date -u + %D查看命令历史:history 10history -p !d 历史命令搜索执行补全命令:!?ate!! 执行最近一次的命令。find ~ -name ".C" -exec grep -n -H "main" {} \; 阅读全文

system v 消息队列

2011-11-09 10:43 by chonghui1001, 152 阅读, 0 推荐, 收藏, 编辑
摘要:一个服务器和多个客户端的例子客户将自己的进程id作为消息的一部分传递,服务器把自己的消息发给客户,消息类型指定为客户的id客户读取消息时,读取指定类型位自己id的消息穿插一句,malloc 与calloc区别。 阅读全文

ubuntu mail 命令发送邮件

2011-11-05 22:53 by chonghui1001, 455 阅读, 0 推荐, 收藏, 编辑
摘要:1.安装mailx msmtp2.修改配置文件新建~/.msmtprchostsmtp.gmail.comdomaingmail.comtlsontls_starttlsontls_certcheckoffprotocolsmtpauthonuseryourname@gmail.compasswordyourpasswordfromyourname@gmail.com 最好不要使用gmail,使用163的比较好新建~/.mailrcsetsendmail="/usr/bin/msmtp"echo 'test from msmtp' | mail -s  阅读全文

getopt函数

2011-11-04 19:07 by chonghui1001, 302 阅读, 0 推荐, 收藏, 编辑
摘要:函数getopt()用来分析命令行参数,其函数原型和相关变量声明如下: #include <unistd.h> extern char *optarg; extern int optind, // 初始化值为1,下一次调用getopt时,从optind存储的位置重新开始检查选项。 extern int opterr, // 初始化值为1,当opterr=0时,getopt不向stderr输出错误信息。 extern int optopt; // 当命令行选项字符不包括在optstring中或者选项缺少必要的参数时, // 该选项存储在optopt中, getopt返回'?’ 阅读全文

shell 定时处理

2011-11-03 20:22 by chonghui1001, 345 阅读, 0 推荐, 收藏, 编辑
摘要:1.crontab-e来打开你的用户所属的crontab文件。第一次用这个命令,会让你选择文本编辑器,我选的是vim。选定的编辑器也可以使用2.编辑文件#mhdommondowcommand */2****date>>~/time.log 第二行是我为了测试写的一个定期任务,它的意思是,每隔两分钟就执行 date >> ~/time.log 命令(记录当前时间到time.log文件)。你可以把它加入你的crontab中,然后保存退出。保存了crontab之后,我们还需要重启cron来应用这个计划任务。使用以下命令:sudoservicecronrestart / sto 阅读全文

shell 脚本中的标准输出

2011-11-03 18:52 by chonghui1001, 396 阅读, 0 推荐, 收藏, 编辑
摘要:sh /tmp/aa.sh >/dev/null 2>&1解释:>和>>都是重定向输出<01> 指标准信息输出路径(也就是默认的输出方式)2> 指错误信息输出路径2>&1 指将标准信息输出路径指定为错误信息输出路径(也就是都输出在一起)习惯上标准输入(standard input)的文件描述符是 0标准输出(standard output)是 1标准错误(standard error)是 2> /dev/null 将输出重定向到/dev/null,这是个空设备,也就是忽略其输出。 2> &1 是将错误输出 阅读全文

vim ctags cscope

2011-10-21 21:17 by chonghui1001, 306 阅读, 1 推荐, 收藏, 编辑
摘要:1.taglist注意:taglist依赖于ctags,所以要先装ctags,否则taglist装了也没法用!(1)将taglist_45.zip解压得到的两个文件夹:doc和plugin 放到 ~/.vim文件夹里面,如果主目录下没有这个隐藏的文件夹,就建一个。(2)plugin/taglist.vim – taglist插件doc/taglist.txt - taglist帮助文件(3)常用快捷键ctrl+ww 在列表和源文件中切换ctrl + ] 查看函数定义ctrl + o 返回上一级文件。gf 查看头文件gd 转到当前光标所指的局部变量的定义处。* 转到当前光标所在单词的... 阅读全文