- 博客(48)
- 资源 (38)
- 收藏
- 关注
转载 linux命令 nm
查找共享库里面的函数 用nm命令nm命令用来列出一个目标文件中的符号。符号的类型如下:R ----Read only symbol 。比如在代码中有一个const MAXDATA = 110; 则MAXDATA就是一个Read only symbol;N ----一个调试符号;D ----一个已经初始化的变量的符号。比如代码中int i = 1和char *str
2012-05-31 18:34:30 2541
转载 Linux下nm和ldd 命令
1. Linux nm 命令nm [‘-a’|‘--debug-syms’] [‘-g’|‘--extern-only’][‘-B’] [‘-C’|‘--demangle’[=style]] [‘-D’|‘--dynamic’][‘-S’|‘--print-size’] [‘-s’|‘--print-armap’][‘-A’|‘-o’|‘--print-file-name’][‘--special
2012-05-31 18:31:13 736
转载 Linux下两个网络函数inet_addr和inet_network (2008-09-01 01:42)
先看看这两个函数的真面目,在说说我遇到的问题 unsigned int inet_addr(const char *cp); unsigned int inet_network(const char *cp); 两个函数都是将字符ip转化成二进制地址但是,前面一个是要考虑大小端的,如果机器本身是小端在前的话,对于255.0.0.0,前者的转化结果将会是0xff,而不是实际想
2012-05-31 18:18:34 12005
转载 c语言文件操作相关函数的用法
c语言文件操作相关函数的用法2011-6-29 17:32 提问者: lsy51813 | 浏览次数:2011次我来帮他解答推荐答案2011-6-29 17:34clearerr(清除文件流的错误旗标) 相关函数 feof表头文件 #include 定义函数 void clearerr(FILE * stream); 函数说明 clearerr()清除参数strea
2012-05-31 18:16:56 827
转载 手把手教你把Vim改装成一个IDE编程环境(图文)
手把手教你把Vim改装成一个IDE编程环境(图文)By:吴垠Date:2007-09-07Version:0.5Email:lazy.fox.wu#gmail.comHomepage:http://blog.csdn.net/wooinCopyright:该文章版权由吴垠和他可爱的老婆小包子所有
2012-05-29 23:06:32 538
转载 Linux下Tar压缩使用
具体的可以在linux环境下 用tar --help查看详细说明格式:tar [option] file -c create create a new archive -x extract extract files from an archive -t list list the contents of
2012-05-29 18:37:02 464
转载 gzip、bzip2、zip、rar、7z、compress 加压、解压
目录一.gzip命令 二.bzip2命令 三.zip和unzip命令 四.rar和unrar命令 五.compress命令 六.lha命令 七.7z(p7zip)命令 一.gzip命令1.gzip命令(1)语法 gzip [选项] [压缩(解压)的文件名](2)选项说明-c: 将输出写到标准输出上,并保留原有文件。 -d: 将压缩文件解压
2012-05-29 18:36:05 4052
转载 DNS协议报文(RFC1035)
资料出处:http://blog.chinaunix.net/uid-11640640-id-2139893.html一、域名和资源记录的定义1、Name space definitions2、资源记录定义(RR definitions) 2.1 格式 后面分析报文的时候详细解释。 2.2 类型值(TYPE values)
2012-05-29 18:33:18 680
转载 IP数据包格式详解
TCP/IP协议定义了一个在因特网上传输的包,< xmlnamespace prefix ="o" ns ="urn:schemas-microsoft-com:office:office" />称为IP数据报 (IP Datagram)。这是一个与硬件无关的虚拟包,由首部和数据两部分组成。首部的前一部分是固定长度,共 20 字节,是所有IP数据报必须具有的。在首部
2012-05-29 18:30:07 883
原创 协议分析网址
协议分析网:http://www.cnpaf.net/Class/Analyze/http://www.cnpaf.net/Class/Analyze/rfc文档http://www.embed.com.cn/protocol/rfc.asp开放文档网址http://www.open-open.com/http://www.open-open.com
2012-05-29 13:00:19 743
转载 struct pollfd
资料出处:http://blog.chinaunix.net/uid-23722297-id-1624846.htmlstruct pollfd2010年04月15日 星期四 下午 03:59int poll (struct pollfd *fds, size_t nfds , int timeout);struct pollfd {int fd;
2012-05-29 12:58:18 34270
转载 poll 函数
# include sys/ poll. h> int poll ( struct pollfd * fds, unsigned int nfds, int timeout) ; 和 select()不一样,poll()没有使用低效 的三个基于位的文件描述符set,而是采用了一个单独的结构体pollfd数组,由fds指针指向这个组 。pollfd结构体定义如下:
2012-05-29 12:56:54 873
转载 linux 笔记1
资料出处:http://linvar.iteye.com/blog/625769引导和关机 1.引导(bootstrapping)PC (1).存储在ROM中的初始化引导代码BIOS 它知道主板上一些设备的信息,可以让用户选择从什么设备进行引导. 机器尝试加载磁盘开头512个字节的信息,这512个字节段叫做MBR(Master Boot Record). MBR包含一个程序,该程序
2012-05-29 12:54:36 412
转载 linux下vim命令详解
资料出处:http://www.uplinux.com/shizi/wenxian/3744.html高级一些的编辑器,都会包含宏功能,vim当然不能缺少了,在vim中使用宏是非常方便的: :qx 开始记录宏,并将结果存入寄存器x q 退出记录模式 @x 播放记录在x寄存器中的宏命令 稍微解释一下,当在normal模式下输入:qx后,你对文本的所有编辑
2012-05-29 12:51:23 437
转载 加速!Linux系统开机过程解释笔记
资料出处:http://www.uplinux.com/shizi/wenxian/3743.html说实话,偶以前一直看不起开机启动的,按下电源然后出去溜一圈回来就可以用,何必考虑这个过程呢。不过,后来发觉学习linux如果没过这个的话,对以后的学习会产生很大的障碍。因此,赶紧多学习几遍。网上开机描述linux开机过程的比较多。不过,自己不默写一遍,在脑海里过一遍,往往也只能了解个大概,处于
2012-05-29 12:50:00 415
转载 关于Linux的进程和线程
资料出处:http://www.uplinux.com/shizi/wenxian/3741.html什么是进程直观点说,保存在硬盘上的程序运行以后,会在内存空间里形成一个独立的内存体,这个内存体有自己的地址空间,有自己的堆,上级挂靠单位是操作系统。操作系统会以进程为单位,分配系统资源,所以我们也说,进程是资源分配的最小单位。 什么是线程线程存在与进程当中,是操作系统调度执
2012-05-29 12:46:41 445
转载 HTTP POST GET 本质区别详解
资料出处: http://hi.baidu.com/yslgoodboy/blog/item/28f20ba617bb7d84d0435815.html一原理区别 一般在浏览器中输入网址访问资源都是通过GET方式;在FORM提交中,可以通过Method指定提交方式为GET或者POST,默认为GET提交Http定义了与服务器交互的不同方法,最基本的方法有4种,分别是GET,PO
2012-05-27 00:54:02 428
转载 DNS报文格式分析
资料出处:http://hi.baidu.com/yslgoodboy/blog/item/f5cd47f562a95b7fdcc47401.htmlDNS请求报文的结构是0 15 16 31标识ID标志问
2012-05-27 00:42:47 4211
原创 linux 查看文件2进制编码
[root@pa137 src]# xxd cjj.txt 0000000: 636a 6a6a 0a cjjj.[root@pa137 src]# xxd cjj.txt 0000000: 2f2f 2052 6f63 6b79 2032 3030 382d 372d // Rocky 2008-7-0000010: 33
2012-05-25 19:43:33 1151
原创 gdb scheduler-locking
show scheduler-locking gdb线程调试 显示线程状态set scheduler-locking on gdb调试加锁当前线程,其他线程停止(gdb) set scheduler-locking off(gdb) show scheduleschedule-multiple scheduler-locking (gdb) show schedu
2012-05-25 19:39:27 6129 1
转载 Linux下 fcntl 函数用法说明
功能描述:根据文件描述词来操作文件的特性。 文件控制函数 fcntl -- file controlLIBRARY Standard C Library (libc, -lc)SYNOPSIS #include ; int fcntl(int fd, int cmd); in
2012-05-25 13:08:05 496
转载 flock(锁定文件或解除锁定)
排它锁排它锁又称为写锁((eXclusive lock,简记为X锁)),若事务T对数据对象A加上X锁,则只允许T读取和修改A,其它任何事务都不能再对A加任何类型的锁,直到T释放A上的锁。它防止任何其它事务获取资源上的锁,直到在事务的末尾将资源上的原始锁释放为止。在更新操作(INSERT、UPDATE 或 DELETE)过程中始终应用排它锁。 相对于共享锁的区别: 共享锁又称为读锁(
2012-05-25 13:07:03 2037
转载 通过fcntl设置FD_CLOEXEC标志有什么用?
close on exec, not on-fork, 意为如果对描述符设置了FD_CLOEXEC,使用execl执行的程序里,此描述符被关闭,不能再使用它,但是在使用fork调用的子进程中,此描述符并不关闭,仍可使用。eg:jamie@jamie-laptop:~$ cat test.c#include #include #include #include int
2012-05-25 12:50:22 531
转载 C 语言创建线程池
什么时候需要创建线程池呢?简单的说,如果一个应用需要频繁的创建和销毁线程,而任务执行的时间又非常短,这样线程创建和销毁的带来的开销就不容忽视,这时也是线程池该出场的机会了。如果线程创建和销毁时间相比任务执行时间可以忽略不计,则没有必要使用线程池了。 下面是Linux系统下用C语言创建的一个线程池。线程池会维护一个任务链表(每个CThread_worker结构就是一个任务)。 p
2012-05-25 12:46:24 655
转载 write()函数简介
write函数(写入文件)它的主要功能是:将某个文件缓冲区的数据,写入某个文件内。系统调用格式:number = write(handle, buffer, n) ;write函数各个参数定义如下:l handle: 这是一个已经打开的文件句柄,表示将数据写入这个文件句柄所表示的文件内。l buffer: 表示缓冲区,也就是把这个缓冲区的
2012-05-25 12:44:38 2846
转载 C语言中open函数
作用:打开和创建文件。 简述: #include int open(const char *pathname, int oflag, ... /* mode_t mode */); 返回值:成功则返回文件描述符,否则返回 -1 对于 open 函数来说,第三个参数(...)仅当创建新文件时(即 使用了O_CREAT 时)才使用,用于指定文件的访问
2012-05-25 12:43:35 1098
转载 read()函数简介
read函数从打开的设备或文件中读取数据。#include ssize_t read(int fd, void *buf, size_t count); 返回值:成功返回读取的字节数,出错返回-1并设置errno,如果在调read之前已到达文件末尾,则这次read返回0参数count是请求读取的字节数,读上来的数据保存在缓冲区buf中,同时文件的当前读写位置向后移
2012-05-25 12:41:21 2114
转载 libnet
资料出处:http://baike.baidu.com/view/1520138.htmlibnet是一个小型的接口函数库,主要用C语言写成,提供了低层网络数据包的构造、处理和发送功能。libnet的开发目的是:建立一个简单统一的网络编程接口以屏蔽不同操作系统底层网络编程的差别,使得程序员将精力集中在解决关键问题上。目录libnet接口函数及其功能
2012-05-24 19:15:01 912
转载 内存管理
int main(){ char *ptr; // alloc a memory area. ptr = (char*)malloc(10); free(ptr); // alloc an array. ptr = (char*)calloc(10, 1); printf("%u\n", (unsigned)ptr); // realloc.
2012-05-23 12:44:19 386
转载 有感于STL的内存管理
资料出处:http://blog.csdn.net/pizi0475/article/details/63017921. 背景前些天在一个技术分享会上,某大牛说,STL使用了内存池,释放内存的时候,并不释放给OS,而是自己由留着用。听到这些观点后,我就有些着急了,因为我以前一直是直接使用STL的一些工具类的,比如std::string、std::map、std::vector、
2012-05-23 12:39:31 588
转载 有感于STL的内存管理
Description:警告:本文是技术类文章,只适合码工们围观,非码工请跳过此坑1. 背景前些天在一个技术分享会上,某大牛说,STL使用了内存池,释放内存的时候,并不释放给OS,而是自己由留着用。听到这些观点后,我就有些着急了,因为我以前一直是直接使用STL的一些工具类的,比如std::string、std::map、std::vector、std::list等等
2012-05-23 12:35:21 601
原创 linux nslookup
dnsip为指定的dns,不然就用默认的dns,在/etc/resolv.conf 文件中timeout指定超时时间nslookup qq.com - dnsip -timeout=1
2012-05-17 19:19:46 535
转载 shell test用shell test用法
资料出处:http://andrew913.iteye.com/blog/2778011)判断表达式 if test (表达式为真) if test !表达式为假 test 表达式1 –a 表达式2 两个表达式都为真 test 表达式1 –o 表达式2 两个表达式有一个为真 2)
2012-05-17 19:15:51 407
转载 shell中continue和break区别
break 命令可以带一个参数,一个不带参数的break 循环只能退出最内层的循环,而break N可以退出N 层循环。continue 命令也可以带一个参数,一个不带参数的continue 命令只去掉本次循环的剩余代码,而continue N 将会把N 层循环剩余的代码都去掉,但是循环的次数不变。#!/bin/sh for i in a b c ddo
2012-05-17 19:14:33 608
转载 linux 打包、压缩、解压小结:
1 .tar 解包:tar xvf FileName.tar 打包:tar cvf FileName.tar DirName (注:tar是打包,不是压缩!)2 .tar.gz 压缩:tar zcvf FileName.tar.gz DirName 解压:tar zxvf FileName.tar.gz 3 .gz
2012-05-17 19:12:59 466
转载 linux 怎么解压*.gz
.tar.gz的,用tar zxvf.tar.bz2的,用tar jxvf.tar的,用tar xvfgzip -d filename.gz (或gunzip filename.gz) 解压,但要注意,用此命令解压,会删除原文件。(filename换成相应文件名)如果想保留原文件,用zcat filename.gz > filename.gz压缩:gzip
2012-05-17 19:10:55 507
转载 我使用过的Linux命令之basename - 去掉文件名的目录和后缀
使用示例示例一[root@web ~]# basename /usr/bin/sort sort[root@web ~]# dirname /usr/bin/sort /usr/bin[root@web ~]# 示例二[root@web ~]# basename /usr/include/stdio.h .h stdio[root@w
2012-05-17 19:07:20 513
转载 用setsockopt()来控制recv()与send()的超时
用setsockopt()来控制recv()与send()的超时在send(),recv()过程中有时由于网络状况等原因,收发不能预期进行,而设置收发超时控制:在Linux下需要注意的是时间的控制结构是struct timeval而并不是某一整型数,以下是来自于网上一篇文章中的摘录,它是这样写的:int nNetTimeout=1000;//1秒,//设置发送超
2012-05-11 12:57:13 434
转载 文件非阻塞状态打开后改变为阻塞状态
fcntl函数中F_SETFL 设置文件描述词状态旗标,参数arg为新旗标,但只允许O_APPEND、O_NONBLOCK和O_ASYNC位的改变,其他位的改变将不受影响。所以如果打开文件时是用非阻塞状态打开的:open("/dev/tty",O_RDWR|O_NOCTTY|O_NDELAY);则可以用fcntl改变文件状态标志:fcntl(fd, F_SETFL, 0);--改变文件
2012-05-10 12:37:31 978
转载 linux和windows下用setsockopt设置send(), recv() 超时的参数的一点区别
资料出处:http://hi.baidu.com/genie_bottle/blog/item/f241f817a4f7020ec83d6dfc.htmllinux和windows下用setsockopt设置send(), recv() 超时的参数的一点区别2008-12-15 20:18linux: struct timeval timeout={3,0};//3s
2012-05-09 18:46:17 1157
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人