2012年5月21日

摘要: 亲自测试 如果build包的时候 只要把类型改了 就能改成相应的协议。 0x0800 ip 0x0806 arp 0x86DD IPv6 0x86ee idmp了 至于ipv6的包的话 在那就不需要改了 只有协议号需要改 我最后安装的是libnet-1.1.4.tar.gz 可用编译的时候gcc -o libnet libnet.c -lnet 安装完了 /... 阅读全文
posted @ 2012-05-21 10:36 coffeepri 阅读(1158) 评论(0) 推荐(0) 编辑

2011年12月7日

摘要: 总结段错误(Segmentation fault) (转)段错误(Segmentation fault)原文出处:http://oss.lzu.edu.cn/blog/article.php?tid_700.html1)往受到系统保护的内存地址写数据有些内存是内核占用的或者是其他程序正在使用,为了保证系统正常工作,所以会受到系统的保护,而不能任意访问。 #include <stdio.h> int main() { int i = 0; scanf ("%d", i); /* should have used &i */ printf ("%d 阅读全文
posted @ 2011-12-07 08:55 coffeepri 阅读(322) 评论(0) 推荐(0) 编辑

2011年10月25日

摘要: pthread/Linux多线程编程本文出自:http://www.china-pub.com作者:姚继锋(2001-08-1109:05:00)1引言 线程(thread)技术早在60年代就被提出,但真正应用多线程到操作系统中去,是在80年代中期,solaris是这方面的佼佼者。传统的Unix也支持线程的概念,但是在一个进程(process)中只允许有一个线程,这样多线程就意味着多进程。现在,多线程技术已经被许多操作系统所支持,包括Windows/NT,当然,也包括Linux。 为什么有了进程的概念后,还要再引入线程呢?使用多线程到底有哪些好处?什么的系统应该选用多线程?我们首先必须回答.. 阅读全文
posted @ 2011-10-25 08:56 coffeepri 阅读(231) 评论(0) 推荐(0) 编辑
摘要: 1. 互斥锁创建 有两种方法创建互斥锁,静态方式和动态方式。POSIX定义了一个宏PTHREAD_MUTEX_INITIALIZER来静态初始化互斥锁,方法如下: pthread_mutex_t mutex=PTHREAD_MUTEX_INITIALIZER; 在LinuxThreads实现中,pthread_mutex_t是一个结构,而PTHREAD_MUTEX_INITIALIZER则是一个结构常量。 动态方式是采用pthread_mutex_init()函数来初始化互斥锁,API定义如下:int pthread_mutex_init(pthread_mutex_t *mutex, co. 阅读全文
posted @ 2011-10-25 08:38 coffeepri 阅读(669) 评论(0) 推荐(1) 编辑

导航