04 2011 档案

SIZE_T AND SSIZE_T
摘要:size_t 是为了方便系统之间的移植而定义的在32位系统上 定义为 unsigned int在64位系统上 定义为 unsigned long更准确地说法是 在 32位系统上是32位无符号整形在 64位系统上是64位无符号整形size_t一般用来表示一种计数,比如有多少东西被拷贝等sizeof操作符的结果类型是size_t,该类型保证能容纳实现所建立的最大对象的字节大小。 它的意义大致是“适于计量内存中可容纳的数据项目个数的无符号整数类型”。所以,它在数组下标和内存管理函数之类的地方广泛使用。ssize_t:这个数据类型用来表示可以被执行读写操作的数据块的大小.它和size_t类似,但必需是 阅读全文

posted @ 2011-04-20 16:07 艾杏佛 阅读(216) 评论(0) 推荐(0)

Tcpdump命令的使用与示例——linux下的网络分析
摘要:网络数据采集分析工具TcpDump的简介顾名思义,TcpDump可以将网络中传送的数据包的“头”完全截获下来提供分析。它支持针对网络层、协议、主机、网络或端口的过滤,并提供and、or、not等逻辑语句来帮助你去掉无用的信息。tcpdump就是一种免费的网络分析工具,尤其其提供了源代码,公开了接口,因此具备很强的可扩展性,对于网络维护和入侵者都是非常有用的工具。tcpdump存在于基本的FreeBSD系统中,由于它需要将网络界面设置为混杂模式,普通用户不能正常执行,但具备root权限的用户可以直接执行它来获取网络上的信息。因此系统中存在网络分析工具主要不是对本机安全的威胁,而是对网络上的其他计 阅读全文

posted @ 2011-04-16 10:33 艾杏佛 阅读(236) 评论(0) 推荐(0)

undefined reference to 'pthread_create'问题解决
摘要:由于是Linux新手,所以现在才开始接触线程编程,照着GUN/Linux编程指南中的一个例子输入编译,结果出现如下错误:undefined reference to 'pthread_create'undefined reference to 'pthread_join'问题原因:pthread 库不是 Linux 系统默认的库,连接时需要使用静态库 libpthread.a,所以在使用pthread_create()创建线程,以及调用 pthread_atfork()函数建立fork处理程序时,需要链接该库。问题解决: 在编译中要加 -lpthread参数 g 阅读全文

posted @ 2011-04-11 19:05 艾杏佛 阅读(323) 评论(0) 推荐(0)

关于umask
摘要:我们创建文件的默认权限是怎么来的?如何改变这个默认权限呢?umask是什么?当我们登录系统之后创建一个文件总是有一个默认权限的,那么这个权限是怎么来的呢?这就是umask干的事情。umask设置了用户创建文件的默认权限,它与chmod的效果刚好相反,umask设置的是权限“补码”,而chmod设置的是文件权限码。一般在/etc/profile、$[HOME]/.bash_profile或$[HOME]/.profile中设置umask值。如何计算umask值?umask命令允许你设定文件创建时的缺省模式,对应每一类用户(文件属主、同组用户、其他用户)存在一个相应的umask值中的数字。对于文件 阅读全文

posted @ 2011-04-07 15:16 艾杏佛 阅读(274) 评论(0) 推荐(0)

将linux2.4.20内核升级到2.6.18.8并加载sctp模块
摘要:今天忙了一天终于搞好了,为了避免大家跟我一样走弯路,跟大家分享下,最近要用到sctp模块,而linux2.4.20内核不支持sctp只能将内核升级,我刚开始在虚拟机上将内核升级到linux2.6.24的,但是reboot后出现init[1]: segfault at 00000021 eip 00000021 esp bfaaa15c error 4…….也不太清楚是什么错误,进入不了linux系统,上网上查了下,说在虚拟机上貌似不支持linux2.6.23以后的内核,晕了,等于白忙,建议在虚拟机上升级内核的话,还是不要升级到linux2.6.24吧,于是就打算将内核升级到2.6.18.8。. 阅读全文

posted @ 2011-04-01 15:42 艾杏佛 阅读(2120) 评论(0) 推荐(0)

导航