- 博客(23)
- 资源 (15)
- 收藏
- 关注
转载 http://dsec.pku.edu.cn/~yuhj/wiki/gdb.html
http://dsec.pku.edu.cn/~yuhj/wiki/gdb.html这个网站介绍得极好! 用GDB调试程序 GDB是一个强大的命令行调试工具。大家知道命令行的强大就是在于,其可以形成执行序列,形成脚本。UNIX下的软件全是命令行的,这给程序开发提代供了极大的便利,命令行软件的优势在于,它们可以非常容易的集成在一起,使用几个简单的已有工具的命令,就
2013-06-30 13:01:44 2342
转载 linux 可执行文件依赖库查看
在多线程编程中,我们用gcc -Wall -g -lpthread log.h log.c List.c List.h server.c -o server.exe编译的时候,我们会加上一个-lpthread,表示要用到gcc默认路径之外的库,但是这个库文件在哪里呢?我们可以用ldd命令来看。 比如 bard@bard-desktop:~/sharing$ ldd server.e
2013-06-30 12:39:46 3552
转载 GCC 参数详解(转载)
gcc and g++分别是gnu的c & c++编译器 gcc/g++在执行编译工作的时候,总共需要4步 1.预处理,生成.i的文件[预处理器cpp] 2.将预处理后的文件不转换成汇编语言,生成文件.s[编译器egcs] 3.有汇编变为目标代码(机器代码)生成.o的文件[汇编器as] 4.连接目标代码,生成可执行程序[链接器ld] [参数详解] -x language
2013-06-30 12:39:19 791
转载 linux extern关键字的作用
1.简单的例子。 //包含头文件是为了声明这个函数,表示这个函数已经被定义过了,已经生产过二进制代码了。File.c代码 #include int main(int argc, char **argv) { printf("hello world!"); return 0; }
2013-06-30 12:38:34 3169 2
转载 linux-gcc 编译时头文件和库文件搜索路径(转)
一、头文件 gcc 在编译时寻找所需要的头文件 : ※搜寻会从-I开始 ※然后找gcc的环境变量 C_INCLUDE_PATH,CPLUS_INCLUDE_PATH,OBJC_INCLUDE_PATH ※再找内定目录/usr/include /usr/local/include/usr/lib/gcc-lib/i386-linux/2.95.
2013-06-30 12:37:25 913
转载 利用bochs调试linux 0.11内核
引导程序调试软件bochs,跟配套的linux0.11内核img下载地址分别是:http://sourceforge.net/projects/bochs/http://www.oldlinux.org/Linux.old/bochs/linux-0.11-devel-040329.zip 调试环境的的建立 下载linux-0.11-devel-
2013-06-30 12:36:12 1932
转载 gdb调试linux0.11内核。
1. 下载bochs源码,配置,编译。 ./configure --enable-gdb-stub. 2. 在http://www.oldlinux.org/Linux.old/bochs/ 下载linux-0.11-gdb-050619.tar.gz 这里面有image 和system.map等等调试信息。
2013-06-30 12:34:01 1570
转载 bochs调试linux 0.11内核
学习操作系统,最难的就是保护模式的各种硬件机制了(如分段分页寻址,特权级,门机制)。单纯的8086实模下的汇编模拟器是无法模拟,调试这些机制的。只能用个功能更强大的80*86模拟器了。由于模拟器挺多的,如vmware, virtual box等等,但是好像更方便调试的,我们选择bochs吧。 赵炯博士已经为我们准备好了bochs,而且还带有linux 0.11的ima
2013-06-30 12:32:54 1884
转载 Linux内核学习四库全书
关于内核学习我建议不要上来就读内核而是先了解内核的构成和特性,然后通过思考发现疑问这时再去读内核源码。即先了解概貌在读局部细节。而且内核分成好多部分,不要只是按照顺序去读,应该针对某一部分比如内存管理或进程管理横向读几本书,这样可以理解很全面。Linux Kernel 四库全书1. Linux内核设计与实现 Edition 2 2. Linux设备驱动 Edition
2013-06-28 16:43:05 895
转载 get all interfaces
NAME top getifaddrs, freeifaddrs - get interface addressesSYNOPSIS top #include #include int getifaddrs(struct ifaddrs **ifap); void fre
2013-06-27 16:52:59 1018
转载 Get a list of network interfaces and their IP addresses in C
#include #include #include #include #include #include #define MAXINTERFACES 20// Print errors and exitvoid diep(char *s){perror(s);exit(1);}int main(int argc, cha
2013-06-27 16:36:29 1072
转载 get route
#include #include #include #include #include #include #include #include #include #include #include #include #include #include #define BUFSIZE 8192struct route_inf
2013-06-27 16:30:45 1578
转载 socket编程:SO_REUSEADDR例解
socket编程:SO_REUSEADDR例解 kevintz 2000-6-19 网友vmstat多次提出了这个问题:SO_REUSEADDR有什么用处和怎么使用。而且很多网友在编写网络程序时也会遇到这个问题。所以特意写了这么一篇文章,希望能够解答一些人的疑难。 其
2013-06-27 11:01:52 886
原创 个人博客 收藏
算法 http://lazynight.me/category/algorithmlinux kernel v1.2 https://www.kernel.org/pub/linux/kernel/v1.2/4.4bsd-lite http://gunkies.org/wiki/4.4_BSD_Litelinux 0.11 http://envy2002.iteye.com/blog/
2013-06-27 10:35:18 3315
转载 shc 脚本加密
shc是一个脚本编译工具, 使用RC4加密算法, 它能够把shell程序转换成二进制可执行文件(支持静态链接和动态链接)。shc官网:http://www.datsi.fi.upm.es/~frosal/用途:当我们写的shell脚本,存在有敏感信息如账号密码,于是想加强脚本的安全性;还有不想让别人查看/修改您的shell核心代码等等情况。都可使用以下工具进行加密。
2013-06-27 10:28:06 2603 1
转载 man shc
Manpage for shc(1)NAME shc - Generic shell script compilerSYNOPSIS shc [ -e date ] [ -m addr ] [ -i iopt ] [ -x cmnd ] [ -l lopt ] [ -ACDhTv ] -f scriptDESCRIPTION
2013-06-27 10:21:59 1027
转载 [解决方法]shc -f xxx.sh shc: invalid first line in script
问题:运行shc的时候出现如下错误Code: $ shc -f test1.sh shc: invalid first line in script分析下:脚本可以正常运行$cat test1.shecho "hello"calCode:$ shc -f test1.shshc: invalid first line in script
2013-06-26 09:49:59 4241
转载 使用monit搭建一个监控系统
上周用monit搭建或者说定制了一个监控系统,来监控服务器发生事情。当然了主要是监控异常,因为我们的产品属于服务器类型,很多进程都daemon,要不停的运行。我们搭建监控目的不过是出现问题能够及时的知道,平时可从web UI上看到整个系统的状况,同时它本身要轻量级,不要影响性能。当然了类似的产品很多了,比如Ganglia,我在老科长波哥曾经搭建过一个Ganglia系统监控科室十几台服务器,让我
2013-06-24 13:57:20 2131
转载 结合Wireshark捕获分组深入理解TCP/IP协议栈之TCP协议(TCP报文格式+三次握手实例)
摘要: 本文简单介绍了TCP面向连接理论知识,详细讲述了TCP报文各个字段含义,并从Wireshark俘获分组中选取TCP连接建立相关报文段进行分析。一、概述 TCP是面向连接的可靠传输协议,两个进程互发数据之前需要建立连接,这里的连接只不过是端系统中分配的一些缓存和状态变量,中间的分组交换机不维护任何连接状态信息。连接建立整个过程如下(即三次握手协
2013-06-06 16:50:39 1202
转载 tcpdump
采用命令行方式,它的命令格式为:tcpdump [ -adeflnNOpqStvx ] [ -c 数量 ] [ -F 文件名 ][ -i 网络接口 ] [ -r 文件名] [ -s snaplen ][ -T 类型 ] [ -w 文件名 ] [表达式 ] 1. tcpdump的选项介绍 -a 将网络地址和广播地址转变成名字; -d 将匹配信息包的代码以人们能够
2013-06-06 15:27:34 1977
转载 ip 字符串 int
void DecodeHexChars(char *URL){unsigned char *Source, *Dest;int val, val2;Source = strchr (URL, '%');if (Source == NULL){return;}Dest = Source;while (*Source != 0){if (
2013-06-06 11:21:53 830
原创 ip in ip-range
/**ip range test*/#include #include #include #include #include #include #include unsigned long ip2ulong(char *ip){ unsigned u1, u2, u3, u4; return sscanf(ip, "%u.%u
2013-06-04 16:13:51 1839
原创 ip2long long2ip
unsigned long ip2ulong(char *ip){ unsigned u1, u2, u3, u4; return sscanf(ip, "%u.%u.%u.%u", &u1, &u2, &u3, &u4) == 4 && u1 255 && u2 255 && u3 255 && u4 255 ? u1*256
2013-06-03 16:02:41 897
uthash hash string
2013-09-04
cJSON解析json数据
2013-09-04
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人