- 博客(12)
- 资源 (8)
- 收藏
- 关注
原创 如何查找Linux中一些特殊数据类型定义,比如pid_t和uid_t
刚开始学习的时候看到像pid_t、uid_t这样的类型,总是想知道它的定义在哪,究竟是什么类型。但是直接看使用这些类型的函数的头文件根本就找不到。这里把我的一些经验分享给大家,希望有所帮助。 下面以pid_t类型和getpid函数为例,getpid的定义如下: #include #include pid_t getpid(void);
2012-07-28 12:42:46 16089 7
原创 Linux编程中的错误码列表
有时可以知道错误的数值,但是如果不知道对应于那个宏定义,也很难知道这个错误描述的是什么。我平时这两种方法来确定:在内核源码中搜索和查看头文件。 在内核源码中搜索一般都可以搜到,而且使用source insight的话也很方便,不多说了。当然更多的时候还是看头文件,因为一般的错误在/usr/include/asm-generic/errno-base.h和/usr/include/asm-gener
2012-07-28 12:13:26 1953
原创 ioctl函数操作----FIOSETOWN和FIOGETOWN
FIOSETOWN和FIOGETOWN用来设置文件描述符的进程ID或进程组ID,在《Unix网络编程》卷一中有下面的图这个图是在第二版的16.3节,图中FIOSETOWN和FIOGETOWN操作时第三个参数所需要的类型均int类型,我感觉这个地方不太准确(个人理解,或者跟作者的想法不同,或者作者这个地方出现了遗漏)。因为FIOSETOWN和FIOGETOWN操作时,第三个参数的类型应该分别为c
2012-07-28 11:59:34 2449
原创 ioctl操作列表
在传统上ioctl函数是用于哪些普遍使用,但不适合归入其他类别的任何特性的系统接口。Posix去掉了ioctl,它通过创建特殊的posix标准化的包裹函数来代替ioctl。但是仍然有许多网络方面的操作和终端操作等,仍然需要使用ioctl。ioctl中关于终端的操作最多。,其接口定义如下:#include int ioctl(int d, int request, ...) ;在这个定
2012-07-28 09:38:04 6455
转载 Linux内核的Softirq机制
第六章 Linux内核的Softirq机制 (By 詹荣开,NUDT) Copyright © 2003 by 詹荣开 E-mail:zhanrk@sohu.com Linux-2.4.0 Version 1.0.0,2003-2-14 摘要:本文主要从内核实现的角度分析了Linux 2.4.0内核的Softirq机制。本文是为那些想要了解L
2012-07-27 16:07:43 1876
转载 VIM参考手册
原文地址:点击打开链接使用多个窗口和缓冲区进行编辑 *windows* *buffers*本章我们看一下操作多个窗口和缓冲区的命令。另外有些命令在操作多个窗口的时候不同于单个窗口,这些命令也会在本章被介绍。一些基本的内容在用户手册的第 7、8 两个章节里 |usr_07.txt| |usr_08.txt| 已经介
2012-07-27 11:44:39 1373
原创 对内核源码中IS_ERR的理解
今天在看内核源码时,看到一个判断指针是否是错误指针或无效指针的函数IS_ERR(2.6.11内核,include/linux/err.h中),其源码如下: static inline long IS_ERR(const void *ptr){ return unlikely((unsigned long)ptr > (unsigned long)-1000L);}这个函
2012-07-26 18:41:40 1686
转载 C语言运算符优先级 详细列表
文章作者:Slyar 文章来源:Slyar Home (www.slyar.com) 转载请注明,谢谢合作。优先级运算符名称或含义使用形式结合方向说明1[]数组下标数组名[常量表达式]左到右 ()圆括号(
2012-07-26 10:10:44 1027
原创 Linux下获取本地IP地址--------ioctl
获取本地的局域网IP地址,个人认为最好的还是这个神器---ioctl,这个接口的功能真是非常强大,非常值得研究和学习。即使本地的主机名是localhost,使用ioctl也可以轻松地获取局域网中的IP地址,而且不需要在/etc/hosts中绑定局域网IP。使用ioctl来获取本地局域网IP地址,需要首先创建一个套接字和一个struct ifreq结构(值-结果参数),下面首先介绍struct if
2012-07-25 17:59:32 3787 2
原创 对监听套接字进行read、write和connect操作会怎样?
已经学习的时候没有想过这个问题,只知道用监听套接字来执行accept操作,获取与客户端的连接,从来就没想过如果对监听套接字执行普通套接字的操作会怎样,今天特意做了个实验,对这三种情况进行测试。 一、 read操作 代码如下:#include #include #include #include #include #include #include #in
2012-07-25 10:58:41 3895
原创 selec/poll中的读写事件和epoll中的读写事件
在Linux网络编程中,常常使用select和poll来做事件触发,监听socket的读写状态,然后进行读写操作。现在新的linux内核中,增加了epoll事件触发机制,具有更高的性能和更好的设计理念,可以用它来完全代替select和poll。相比于select,epoll最大的好处在于它不会随监听fd数目的增长而降低效率。因为在内核总的select实现中,它是采用轮询来处理的,轮询的fd数目越多
2012-07-24 17:10:12 5828
原创 Linux下获取本地IP地址--------getaddrinfo
获取本地IP地址的方式很多,这里使用的接口是getaddrinfo(最开始发表时,这个地方表述有错误,这个接口也不能解决主机名为localhost,获取的IP地址是127.0.0.1,但是可以通过修改/etc/hosts文件来绑定本地IP地址)。这个接口在《Unix网络编程》第一卷的11.2节有讲解,但是当时看书的时候没有深入的研究这个接口(当时可能感觉获取本地ip地址很容易),这个接口及其相关的
2012-07-24 15:26:10 15903 3
Linux_C高级程序员指南.pdfLinux_C高级程序员指南.pdf
2011-04-19
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人