您现在的位置:首页
--> chen3feng
colorgcc, colormake, man, vim 等的彩色可能很多人都知道了,今天介绍 colortail,让 tail 命令也多彩起来。colortail 下载地址http://joakimandersson.se/projects/colortail/下载后 configure, make, make check, make install 就可以使用除了用 -k 选项指定色彩配置文件外,跟 tail 命令都一样。代码有些老,在新的 g++ 可能编译不了,主要是 iostream.h fstream.h 已经不存在,或者某些地方缺少头文件,很容易修正。详情参阅...
常用 sscanf 解析字符串,处理错误也很简单:sscanf 会返回实际解析并赋值了的域的个数,判断一下是否和期望的一致即可。今天却遭遇一个解析地址的 bug,是由于地址本应该是“127.0.0.1:30000”被写成 “127.0.0.1:30000:127.0.0.1:30000”,原来用 sscanf 解析,判断结果等于5就认为正确,却没有判断额外的字符。
有时候需要连接某机器,但是直接连被屏蔽了,虽然可以用代理来搞定一些应用程序,但是很多程序不支持代理,或者只支持某些类型的代理,这时候就可以试一试 proxychains 这个软件了。比如:svn 只支持 HTTP 代理,不支持 socks4 代理,svn+ssh 方式也挺麻烦的,可以用一个 socks 转 HTTP 代理软件的,需要在 ~/.subversion/servers 利配置,用 proxychains 这个东西就更方便。proxychains 用起来就像 time, strace, ccache 等命令那...
vim 用 termencoding 选项控制输出时的编码,这个选项默认为空,也就是不进行转换,这导致我在 GB 编码的终端下打开 UTF-8 文件,虽然能识别出来,显示却是乱码。设置终端编码当然可以,不过还是要相应设置 locale,比较麻烦。通常终端编码和 LOCALE 的设置一致,因此可以借用一下这个设置:let &termencoding = substitute($LC_ALL, "[a-zA-Z_-]*\\.", "", "")把 termencoding 设置为 locale 的值点后面的部分,比如 LC_ALL 为 zh...
linux 下有 linuxthreads 和 NPTL,nptl 比 linuxthreads 先进,目前新内核都支持 ntpl,相应的 glibc 也支持,遇到老的机器,用的还是 linuxthreads,虽然二者二进制兼容,但是某些细节上还是不同,问题现实存在,无奈也得解决。方法是用 confstr 来读取系统的配置信息:#include static bool CheckNptl(){ char buf[32]; confstr(_CS_GNU_LIBPTHREAD_VERSION, buf, sizeof(buf)); return strstr(buf, "NPTL") != NULL;}...
用 LD_PRELOAD 挽救被误删的 libc.so.6libc.so.6 的符号链接被同事误删,。libc.so.6,不仅包含了普通的 C 运行库,还包含了系统调用的封装。就像 Windows 系统上的 kernel32.dll 一样重要。被误删后,几乎所有新的进程都起不来,因为几乎所有的程序都依赖 libc.so.6。因此 scp, cz, cp, ln 统统不管用。用写一个这样的文件或许有效。
我刚来公司的时候,发现公司的 Linux 开发环境没有配置中文,因为绝大多数同事都是在 VC/SourceInsight/UltraEdit上编辑后sz到服务器上编译,所以没人在意这个问题。而我习惯于在 vim 下直接写代码,很不习惯,就搞了一下。 首先让 vim 支持中文,这个修改配置即可,但是没想到后来那么麻烦。 一开始尝试统一设置为 en_US.UTF-8,SecureCRT 的编码也设置为 UTF-8,vim 好了,但是 cat 和 more GB 编码的文件时会乱码。设置为 en_US...
刚才帮人解决了一个问题,记录一下。 一个 CGI 程序,输出一些内容,然后就 fork 子进程做一些耗时的操作,父进程马上退出以便返回结果给浏览器。现象是 CGI 的内容在浏览器上看到的是两次重复的,在程序的开头加日志记录运行次数,发现每次刷新浏览器,进程也只运行一次。如果不 fork,结果就是正确的。如果 fork,即使父子进程都马上返回,故障依然存在。但是在命令行调用这个程序,输出是正常的。猜测跟某些全局对象的析构有关...
[ 共8篇文章 ][ 第1页/共1页 ][ 1 ]
近3天十大热文
- [69] Twitter/微博客的学习摘要
- [68] IOS安全–浅谈关于IOS加固的几种方法
- [66] 如何拿下简短的域名
- [65] android 开发入门
- [63] find命令的一点注意事项
- [62] Go Reflect 性能
- [61] 流程管理与用户研究
- [60] Oracle MTS模式下 进程地址与会话信
- [59] 图书馆的世界纪录
- [57] 读书笔记-壹百度:百度十年千倍的29条法则
赞助商广告