
*nix
ani_di
喜欢收集有趣的面试题;python程序员。
展开
-
通用makefile
scons虽然简单且跨平台,但内部隐藏了太多细节。Make相对清爽些。然而每次都写makefile有点嫌麻烦,网络上也流传很多通用makefile。今天特找来一个,分享之####################################### Copyright (c) 1997 George Foot (george.foot@merton.ox.ac.uk)# All rig原创 2012-02-05 17:45:35 · 691 阅读 · 0 评论 -
探寻影响业务性能的隐形杀手——TCP Nagle算法、延迟确认及窗口大小故障分析案例
http://wenku.baidu.com/view/fbfda71aa300a6c30c229f99.html###转载 2012-11-12 21:53:55 · 1175 阅读 · 0 评论 -
MacOS 10.7 VMware下连接iPhone系统蓝屏解决
最近10.6系统到10.7,出现了一个奇怪的问题:VMware虚拟机连接iPhone后系统蓝屏,windows xp和Win7都是如此,所以初步排除是系统问题。解决方法:修改VMware的USB设置,勾选USB2.0。原创 2012-10-22 20:59:27 · 2029 阅读 · 0 评论 -
让gcc和gdb支持intel格式的汇编
默认情况时,gdb和gcc输出的汇编都是AT&T格式的,但是它们都有方式来转换为Intel格式。gcc -S -masm=intel test.cgdb则是设置环境变量set disassembly-flavor intelgas事实上也支持Intel格式,只是用得比较少。AT&T和Intel差别本身就不大,只是大家在windows上弄久了后,可能有特别偏好。原创 2012-08-22 00:35:37 · 5321 阅读 · 0 评论 -
configure: error: C compiler cannot create executables
在一台10.7的系统上,装了Xcode 4.3.2。在编译某开源库时出现下面错误./configurechecking for a BSD-compatible install... /usr/bin/install -cchecking whether build environment is sane... yeschecking for gawk... nochecking fo原创 2012-08-15 14:09:16 · 3361 阅读 · 2 评论 -
ln: Too many levels of symbolic links
使用ln创建链接时,参数source的写法很重要。如果source与target不是在同一目录,那么source的路径应该使用显示路径,否则会出现Too many levels of symbolic links错误。举例来说ln -s 1.txt t2/1.txt # errorln -s ./1.txt t2/1.txt # okcd t2ln -s原创 2012-07-19 14:39:05 · 5990 阅读 · 1 评论 -
Mac Single User Mode
在Mac启动时,按住Command+S,就可以进入此模式。这个模式是纯字符界面,登陆用户是root。接下来你知道该干什么了吧原创 2012-08-03 11:27:50 · 1669 阅读 · 0 评论 -
跨平台C/C++开发的总结
跨平台的代码最好是在写的时候就已兼顾到多平台,即编写和调试分别在两个平台上同时进行。如果是先在一个平台开发后再来做移植,工作量可能会大很多。这种移植可能会用到很多重构方法,假如你没有很好的单元测试流程,那么大规模的重构将很有可能引入bug。 在两个平台同时开发并不困难。首先,你最好能找到在这些平台都可以使用的工具,vim+makefile是个不错的选择,缺点是gdb的调试不是很方便。因此原创 2012-05-03 14:53:51 · 6329 阅读 · 0 评论 -
Readline 快捷键
readline对于我等长期使用命令行的程序猿来说,实为加快输入速度之利器。下面就来一起领略它的强大之处。1. 移动光标。如果你还在使用←和→来移动,那么就有点老套了。试试下面几个Ctrl-b 向左移动一个字符Ctrl-f 向右移动一个字符Alt-b 向左移动一个单词Alt-f 向右移动一个单词 按单词移动比按字符移动快多了。有的时候我们要在一串很长的命令头和尾移动,原创 2012-03-19 18:12:00 · 4492 阅读 · 0 评论 -
Unix调试利器之——gdb jump
在调试时有时不小心跳过了某个函数,又不想重新运行一遍。简便的方法是直接把PC寄存器的值设到前面位置。但是,通常情况下,我们不知道其PC的位置。这时我们需要j(jump)命令。jump 行号jump 位置行号可以是:1.数字;2.(+/-)偏移;3.文件名:行号;位置可以是:1.函数名;2.文件名:函数名;3.*内存地址;jump命令类似于C语言的goto,是比较强硬的跳原创 2012-02-22 10:05:13 · 5894 阅读 · 0 评论 -
Tutorial – Installing gcc compiler on iPhone
http://eagos.net/tutorial-installing-gcc-compiler-on-iphone/comment-page-1/#comment-31This Tutorial needs headers and libraries from Mac OSX.Make sure the following applications are instal转载 2012-02-21 21:51:35 · 855 阅读 · 0 评论 -
Unix调试利器之——内存断点
内存断点又称为“数据断点”,貌似vs是从2008才开始有的,gdb出现得比较早。gdb的内存断点又称之为Watchpoint,它可以监视:某个变量的值某个地址所指向的数据。例如, `*(int *)0x12345678'会监视它指向的4字节数据。任一复杂的表达式,比如 `a*b + c/d'。设置watchpoint的命令是watch,格式是watch [-l|-locat转载 2012-02-17 15:16:27 · 837 阅读 · 0 评论 -
Unix调试利器之——lsof
lsof全称为"list open file"(列出打开文件)。除了调试程序外,我们也可以来解决一些日常问题,比如删文件时提示正在被使用;把设备时无法弹出等。现列出几个比较常用的操作列出所有打开的文件# lsof数量会有点多,自己慢慢grep找到谁的使用某个文件# lsof /path/file这个在查找具体文件时有用递归查找某个目录原创 2012-02-17 15:01:11 · 754 阅读 · 0 评论 -
Linux文件系统FAQ
Linux文件系统FAQ2010年03月25日 最近实验室搞了一些列讲座,阿福师兄关于文件系统的讲座帮我弄清楚了一些以前不清楚的问题,以问答的形式对文件系统常见的问题进行了总结。 Q: 文件系统如何看待底层物理块设备? 文件系统把块设备简单的看做线性的组合,即对文件系统而言,块设备是一系列可以读写的块。文件系统不需要知道这些物理设备的实际布局及如何转载 2012-02-24 16:08:06 · 976 阅读 · 0 评论 -
sshpass: 用于非交互的 ssh 密码验证
[撰文/Zhang Huangbin (michaelbibby AT gmail.com)]OpenSSH 自带的 ssh 客户端程序(也就是 'ssh' 命令)默认不允许你以非交互的方式传递密码,如:ssh www.iredmail.org Shell 里这样的输入重定向使用得非常普遍,而且通常都工作得很好。但是 ssh 不允许这样的方式来传递密码,所以需要远程连上服务转载 2012-02-07 11:40:43 · 1524 阅读 · 0 评论 -
curl使用简介
Curl是一个很强大的http命令行工具,其功能十分强大。1) 二话不说,先从这里开始吧!$ curl http://www.yahoo.com回车之后,www.yahoo.com 的html就稀里哗啦地显示在屏幕上了 ~2) 嗯,要想把读过来页面存下来,是不是要这样呢?$ curl http://www.yahoo.com > page.html当然可以,但不用这么转载 2012-02-05 10:59:49 · 801 阅读 · 1 评论 -
统计代码行的shell
find . | egrep cpp$\|c$\|h$ | xargs cat | wc -l自个用,不是那么精确,但也能统计出个大概。修改一下,过滤空行find . | egrep cpp$\|c$\|h$ | xargs grep -v '^$' | wc -l原创 2012-04-24 17:32:45 · 573 阅读 · 0 评论