全部博文(842)
发布时间:2013-03-22 15:57:37
一.uname()函数1.使用uname函数来实现获取系统信息1>函数原型#include int uname(struct utsname *buf);2>函数功能:该函数会告诉我们系统的相关信息。3>函数返回值函数返回信息存放在struct utsname结构体buf中,当函数成功时会返回0,当发生错误时会返回-1。4>stru.........【阅读全文】
发布时间:2013-03-22 15:47:29
1.offset宏讲解#define offsetof(TYPE, MEMBER) ((size_t) &((TYPE*)0)->MEMBER)对这个宏的讲解我们大致可以分为以下4步进行讲解:1>( (TYPE *)0 ) 0地址强制 "转换" 为 TYPE结构类型的指针;2>((TYPE *)0)->MEMBER 访问TYPE结构中的MEMBER数据成员;3>&( ( (TYPE *)0 )->MEMBER).........【阅读全文】
发布时间:2013-03-22 15:44:30
研究了一晚上总结出以下经验:环境redhat6.2用户: ftpadmin ftpadmin2 appgroup文件夹: /var/ftp/applicationteam drwxrwsr-x+ ftpadmin ftpgroup unconfined_u:object_r:public_content_t:s0 applicationteam/1,首先把匿名的选项给关了vim /etc/vsftpd/vsftpd.confanonymous_e.........【阅读全文】
发布时间:2013-03-22 15:43:25
ikely()与unlikely()在2.6内核中,随处可见,那为什么要用它们?它们之间有什么区别呢?首先明确:if (likely(value))等价于if (value)if (likely(a>b)) {fun1();if (unlikely(value))等价于if (value)也就是说likely()和unlikely()从阅读和理解的角度是一样的。这两个宏在内核中定义如下: .........【阅读全文】