- 博客(12)
- 资源 (2)
- 收藏
- 关注
原创 va_list ,va_start,va_end的使用
函数头文件#include缺省函数参数可以用...来指定,void test_va(char * test,...)函数参数一般是从右到左入栈va_list来定义一个遍历参数列表的指针,va_list va_ptr;va_start(va_ptr,test);指定指针的初始值va_arg(va_ptr,int) 来获取当前参数的值,这里的类型可以通过test格式字符串类型进行分
2013-11-30 23:23:07 573
原创 signal与raise,sigaction
头文件:#includesignal 用法:void(*)(int) signal(int signum,void(*)(int)) 注册信号处理函数,可以是SIG_DFL(默认处理)、SIG_IGN(忽略)、用户自定义函数 int raise(int signum) 产生指定信号,可以出发信号处理函数调用,返回为0代表产生成功siga
2013-11-30 00:48:37 754
原创 读写锁pthread_rwlock_t的使用
读写锁是用来解决读者写者问题的,读操作可以共享,写操作是排他的,读可以有多个在读,写只有唯一个在写,同时写的时候不允许读。具有强读者同步和强写者同步两种形式强读者同步:当写者没有进行写操作,读者就可以访问;强写者同步:当所有写者都写完之后,才能进行读操作,读者需要最新的信息,一些事实性较高的系统可能会用到该所,比如定票之类的。读写锁的操作:读写锁的初始化:
2013-11-25 12:45:59 40419 4
原创 strace 和 pstack使用
strace:查看一个应用程序在运行过程中所发起的系统函数调用ltrace:查看动态库函数调用strace -p pid:查看进程号为pid的进程调用的情况strace -o filename:将跟踪结果定向到某个文件strace -f :跟踪创建子进程,fork调用strace -t :每个系统调用发起时间strace -T:每个系统调用消耗的时间ctrl+c,退出s
2013-11-24 20:23:17 1342
原创 Linux 抓包工具tcpdump的使用
tcpdump输出格式:系统时间,源主机.端口>目的主机.端口,数据包参数tcp数据包格式:src > dst: flags data-seqno ack window urgent optionsflags:flags 标志有S(SYN), F(FIN), P(PUSH, R(RST),W(ECN CWT)或者 E(ECN-Echo)组成,单独一个'.'表示没有flags
2013-11-24 11:47:57 1096
原创 linux gdb 调试技巧
首先 生成gdb可调试的二进制文件: gdb -g -O0 -o test test.c ,-O0关闭编译时代码优化,防止list的时候代码的行数变动。然后 gdb test 就可以对程序进行调试运行了gdb 提供的命令如下: l(list) ->打印出二进制文件的源代码,从第一行开始 break n ->在源代码的第n行设置断点 break 函数名
2013-11-23 23:48:02 960
Fast TCP设计原理
2014-08-28
Nginx文件上传模块配置
2014-04-22
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人