![](https://img-blog.csdnimg.cn/20201014180756919.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Linux
starflame
这个作者很懒,什么都没留下…
展开
-
《Linux内核完全注释》笔记(1)
开始看《Linux内核完全注释》,不局限于此书,期望将以前不懂或不甚明白的地方弄通。不考虑时间,只培养自己的兴趣。能力有限,尽力而为 下载地址:http://www.oldlinux.org/download/clk011c-1.9.5.pdf 感谢 赵炯老师公开这本书,另外对他的辛勤工作表示崇高的敬意! 内核版本:0.11(很老么?呵呵,书上有为什么用它的理由)原创 2007-01-22 15:35:00 · 1307 阅读 · 0 评论 -
linux网络编程中阻塞和非阻塞socket的区别
原文:http://blog.sina.com.cn/s/blog_4b029ef30100nxcb.html阻塞socket和非阻塞socket 读操作对于阻塞的socket,当socket的接收缓冲区中没有数据时,read调用会一直阻塞住,直到有数据到来才返回。当socket缓冲区中的数据量小于期望读取的数据量时,返回实际读取的字节数。当sockt的接收缓冲转载 2012-08-13 14:15:47 · 1101 阅读 · 0 评论 -
linux select函数用法
linux c语言 select函数用法 Select在Socket编程中还是比较重要的,可是对于初学Socket的人来说都不太爱用Select写程序,他们只是习惯写诸如connect、accept、recv或recvfrom这样的阻塞程序(所谓阻塞方式block,顾名思义,就是进程或是线程执行到这些函数时必须等待某个事件的发生,如果事件没有发生,进程或线程就被阻转载 2012-08-13 14:12:17 · 694 阅读 · 0 评论 -
VMware Server和Red Hat Enterprise Linux 5安装VMware Tools
按照Readme中的安装方法,一步步按照默认的设置下来,出现如下错误: What is the location of the directory of C header files that match yourrunning kernel? [/usr/src/linux/include]The directory of kernel headers (version 2.转载 2012-07-11 18:34:24 · 1949 阅读 · 0 评论 -
fstat、stat和lstat 区别
stat系统调用系列包括了fstat、stat和lstat,它们都是用来返回“相关文件状态信息”的,三者的不同之处在于设定源文件的方式不同。1 首先隆重介绍的是一个非常重要的”VIP”人物,他是fstat, stat和lstat三者都要用到的一个结构体类型,名字叫做struct stat。可以说,没有这个struct stat的支持,上述三个系统调用将寸步难行。这个struct s转载 2012-08-08 18:18:37 · 482 阅读 · 0 评论 -
VMware 8.0 安装 FC5 的VMware tools
为了实现windows和linux共享文件夹,今天装VMware tools装了一下午…. 仔细看下vmware tools 安装时,会提示kernel header路径找不到,所以先安装kernel header。如果是现在的新的fedora 可以直接yum install kernel-devel,但是我们是fedora 5太老了,yum服务器已经没有这个内核的包了,可能服务器的地址都原创 2012-03-07 17:36:09 · 1038 阅读 · 0 评论 -
ubuntu 10.04 如何进入grub命令行
ubuntu从10.04开始使用GRUB2.0版本,默认安装情况下grub2启动菜单是隐藏的,除非您改动了/etc/default/grub中的设置。打开grub2启动菜单的方法: 在开机启动时一直按Shift键,直到grub2启动菜单出现,这时候可以按上下方向键选择一个项目,或者直接按‘c’进入命令行模式。原创 2012-04-09 12:26:14 · 7401 阅读 · 0 评论 -
apt-get build-dep命令详解
今天看到一位网友的签名档写着:“用 Debian 的感觉就象家里开超市一样不管要什么只需一个 apt-get”。实在太贴切了,我也觉得有这种感觉~今天在ubuntu中文上看到 apt-get 里面有个 build-dep参数,上网查了好久都没有找到答案,手册英文写着:build-dep causes apt-get to install/remove packages in an at转载 2012-03-31 16:27:23 · 7864 阅读 · 0 评论 -
GNU C中的零长度数组
在阅读BlueZ时遇到结构体中零长度的数组问题,于是在网上查询了一些并解释如下:在标准C和C++中,长度为0的数组是被禁止使用的。不过在GNU C中,存在一个非常奇怪的用法,那就是长度为0的数组,比如Array[0];很多人可能觉得不可思议,长度为0的数组是没有什么意义的,不过在这儿,它表示的完全是另外的一层意思,这个特性是不可移植的,所以,如果你致力于编写可移植,或者是稍转载 2012-03-12 13:30:32 · 519 阅读 · 0 评论 -
Linux 共享库 /etc/ld.so.conf文件
Linux 系统上有两类根本不同的 Linux 可执行程序。第一类是静态链接的可执行程序。静态可执行程序包含执行所需的所有函数 — 换句话说,它们是“完整的”。因为这一原因,静态可执行程序不依赖任何外部库就可以运行。 第二类是动态链接的可执行程序。 静态可执行程序与动态可执行程序比较 我们可以用 ldd 命令来确定某一特定可执行程序是否为静态链接的: # ldd转载 2012-03-02 10:59:54 · 638 阅读 · 0 评论 -
Linux进程间通信源码剖析,共享内存(shmget函数详解)
shmgetint shmget(key_t key, size_t size, int flag);key: 标识符的规则size:共享存储段的字节数flag:读写的权限返回值:成功返回共享存储的id,失败返回-1key_t key-----------------------------------------------转载 2012-02-21 13:47:27 · 604 阅读 · 0 评论 -
共享内存---shmget shmat shmdt
转自:hylcarson.blog.sohu.com/54735006.html要使用共享内存,应该有如下步骤:1.开辟一块共享内存 shmget()2.允许本进程使用共某块共享内存 shmat()3.写入/读出4.禁止本进程使用这块共享内存 shmdt()5.删除这块共享内存 shmctl()或者命令行下ipcrmftok()。它有两个参数,一个是字符串,转载 2012-02-21 14:16:56 · 483 阅读 · 0 评论 -
mmap函数介绍
转自:http://hi.baidu.com/weichao_zju/blog/item/53224ed96a99442d10df9b5b.html mmap函数是unix/linux下的系统调用,来看《Unix Netword programming》卷二12.2节对mmap的介绍:The mmap function maps either a file or a转载 2012-02-21 15:51:44 · 436 阅读 · 0 评论 -
GNU C 扩展之__attribute__ 机制简介
摘要: 在学习linux内核代码及一些开源软件的源码(如:DirectFB),经常可以看到有关__attribute__的相关使用。本文结合自己的学习经历,较为详细的介绍了__attribute__相关语法及其使用。----------------------------------------------------------------声明: 此文为原创,欢迎转载 2012-02-21 19:39:22 · 378 阅读 · 0 评论 -
linux- ['li:nэks]
哗,好厚的灰尘... 把这里荒废了一年多了,现在红着脸回来了。 OK,为了证明我的决心,我现在就在linux下运行着firefox(你给我的印象不好啊,每天都给我崩溃好几回),写下一年后的第一篇日记。 Linus Torvalds告诉我们说,linux读作 [li:nэks] ,“哩呐克斯”,那好吧,我承认以前读错了,那么,今天就是新的开始...原创 2008-04-25 14:53:00 · 1551 阅读 · 0 评论 -
F~F~F~Fedora Core~e~e~e~
是的,我用的是Fedora Core,不是debian,不是ubuntu。是的,我用的是FC6,不是7,不是8。S总是因为我不喜欢她买的衣服就大叫“你这个老土的人~!”,我无语~~一切不是都有原因的吗...说实话,FC的安装过程我找不到要讲的任何东西,是的,FC的安装就像windows一样简单,你需要的只是偶尔填写些东西,单击下一步,等待进度条滚动,然后插入那一张张的光盘,当然,请确保你是在图形安原创 2008-04-28 19:15:00 · 588 阅读 · 0 评论 -
关于select函数中timeval和fd_set重新设置的问题
select原型: int select(int n, fd_set *readfds, fd_set *writefds, fd_set *exceptfds, struct timeval *timeout); 和select模型紧密结合的四个宏:FD_CLR(int fd, fd_set *set);FD_ISSET(int fd, fd_set *set);FD原创 2012-08-13 14:56:34 · 6263 阅读 · 3 评论