- 博客(7)
- 资源 (2)
- 收藏
- 关注

原创 为release版程序保留符号表方便调试
一般来说,习惯上为debug版程序加入调试信息,release版程序不加调试信息。这样做有一个缺点,如果程序中没有加入调试信息,在程序发生崩溃时,就不得不去分析程序的汇编代码,这会增加定位问题的难度。并不是所有人都能看得懂汇编。反过来,如果在release版中加入调试信息,那么使用程序的人就很容易能看到我们的代码,这是我们不希望看到的。其实,可以用strip程序
2013-05-30 16:20:17
3738
1
转载 MySQL如何避免使用swap
转载自:http://www.realzyy.com/?p=923Linux有很多很好的内存、IO调度机制,但是并不会适用于所有场景。对于DBA来说Linux比较让人头疼的一个地方是,它不会因为MySQL很重要就避免将分配给MySQL的地址空间映射到swap上。对于频繁进行读写操作的系统而言,数据看似在内存而实际上在磁盘是非常糟糕的,响应时间的增长很可能直接拖垮整个系统。这篇blo
2013-08-09 09:12:08
1018
原创 用python发送post请求, post参数中多出‘\r\n’
最近用python写一个脚本,功能很简单,就是在一个访问一个网页,填好一个表单,然后提交上去可是一直提交不成功,跟踪了下后台的服务器,原来是一个POST参数名前多了一个换行‘\r\n'又跟踪脚本,一切都是正常的直到跟到这段代码:def _send_output(self, message_body=None): """Send the currently
2013-03-14 12:46:59
3169
转载 p2align
p2align[wl] abs-expr, abs-expr, abs-exprPad the location counter (in the current subsection) to a particular storage boundary. The first expression (which must be absolute) is the number of low-order zero bits the location counter must have after advanceme
2011-01-08 15:01:00
2059
原创 关于C语言的逻辑短路
在C标准中,有这样的规定:在“exp1 && exp2” 中如果exp1为false,则不再计算exp2的值 在“exp1 ¦ ¦ exp2” 中如果exp1为true,则不再计算exp2的值 这种机制被称为”逻辑短路“,一是为了优化,更重要的是为了提高代码的可移植性,避免产生二义性但并不是所有的实现都支持这种机制比如如下的C代码:void cond(int a, int *p){ if (p && a > 0) *p += a;} 命名为cond.c, 用如下命令编译成汇编语言文件:
2010-12-25 01:36:00
1983
原创 C语言中的可变参数
C语言中的可变参数C语言有一个功能,就是它允许程序定义一个可接受可变参数列表的函数。为了访问参数表中的参数,我们须要借助这个头文件。它允许我们从头到尾地遍历一个附加参数列表。在遇到一个参数时,必须知道它的类型。以便知道这个参数的内存地址。但是在一个给定的调用之前,不必知道它的细节。标准C规定,可变参数的函数至少声明一个固定的参数。显然,若没有这个参数,编译器无法得到参数的地址。如下
2009-09-19 21:34:00
799
原创 “漂亮的”排序算法
《算法导论》上的一道题:Howard,Fine等教授提出了下面的“漂亮的”排序算法: void StoogeSort(int *a, int i, int j){ if (a[i] > a[j]) { int temp = a[i]; a[i] = a[j]; a[
2009-09-19 21:27:00
608
1
WindowsAPI大全
2009-12-14
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人