Linux 系统编程
文章平均质量分 61
伊娃码力
这个作者很懒,什么都没留下…
展开
-
mmap语法没问题报错:--Invalid argument
<br />2010.11.5<br />今天用FrameBuffer来刷屏幕,显示图像,mmap语法没有什么问题,但是编译报错:invalid argument.<br />老师找了老久最后发现屏幕分辨率,有个bits_per_pixel 为4bits。显卡没有支持4bits的<br />下面是转一个帖子的内容:<br />1.开启内核对framebuffer的支持<br />我发现有很多种framebuffer模式,不太明白它们之间有什么区别,不过我的机器在Ubuntu 10.04下,vesaf原创 2010-11-05 19:38:00 · 5406 阅读 · 5 评论 -
*** glibc detected *** ./test: free(): invalid pointer: 0x0854d1b4 ***
<br />*** glibc detected *** ./test: free(): invalid pointer: 0x0854d1b4 ***<br />======= Backtrace: =========<br />/lib/tls/i686/cmov/libc.so.6(+0x6b591)[0x208591]<br />/lib/tls/i686/cmov/libc.so.6(+0x6cde8)[0x209de8]<br />/lib/tls/i686/cmov/libc.so原创 2010-11-11 16:58:00 · 3955 阅读 · 1 评论 -
linux进程控制-exit()
<br />原文地址:<br />http://blog.chinaunix.net/u1/53053/showart_425191.html<br /> <br /> <br />#include<stdlib.h><br />void exit(int status);<br />不像fork那么难理解,从exit的名字就能看出,这个系统调用是用来终止一个进程的。无论在程序中的什么位置,只要执行到exit系统调用,进程就会停止剩下的所有操作,清除包括PCB在内的各种数据结构,并终止本进程的运行。请看转载 2010-11-10 17:03:00 · 763 阅读 · 1 评论 -
GCC制作Library---shared 部分相当不错
<br />原帖地址http://blog.csdn.net/alex_ww/archive/2009/09/12/4544207.aspx<br /><br />Library 可分成三种, static 、 shared 与 dynamically loaded 。 <br /><br />1. Static libraries<br /><br />Static 链接库用于静态链接,简单讲是把一堆 object 檔用 ar(archiver) 包装集合起来,文件名以 `.a' 结尾。优点是执行转载 2010-11-08 20:28:00 · 3292 阅读 · 0 评论 -
Linux系统编程学习笔记(七)内存管理
<br />原帖地址:http://fuliang.javaeye.com/blog/657650<br /> <br />内存管理: <br />对于一个进程来说,内存是最基本的也是最重要的资源之一。内存管理包括:内存分配、内存操作和内存释放。 <br />1、进程地址空间: <br />Linux将物理内存虚拟化,内核为每一个进程维护一个特殊的虚拟地址空间。这个地址是线性的,从0开始, <br />到某个最大值。 <br />1)页和页面调度 <br />虚拟地址空间由很多页组成转载 2010-11-07 19:16:00 · 838 阅读 · 0 评论 -
Linux中select函数学习及实例笔记
<br />原文地址:<br />http://www.cublog.cn/u3/104447/showart_2150356.html<br /> <br /> <br />Unix中的函数select和poll用来,支持Unix中I/O复用的功能,在Unix中I/O模型可以分为以一几种:(1)阻塞I/O(2)非阻塞I/O(3)I/O复用(select和poll)(4)信号驱动I/O(SIGIO)(5)异步I/O 其中,现在比较流行的I/O模型是阻塞I/O模型.阻塞I/O是当应用程序和内核交换数据时,转载 2010-11-07 17:57:00 · 704 阅读 · 0 评论 -
fstat、stat和lstat区别
<br />原帖地址:http://blog.chinaunix.net/u3/118714/showart_2323674.html<br /> <br /><br />stat系统调用系列包括了fstat、stat和lstat,它们都是用来返回“相关文件状态信息”的,三者的不同之处在于设定源文件的方式不 同。<br />1<br />首先隆重介绍的是一个非常重要的”VIP”人物,他是fstat, stat和lstat三者都要用到的一个结构体类型,名字叫做struct stat。可以说,没有这个struc转载 2010-11-07 14:28:00 · 784 阅读 · 0 评论 -
浅析Linux内存映射: mmap ( 一)
<br />原文地址:<br />http://blog.csdn.net/dai_weitao/archive/2007/07/25/1707559.aspx<br /><br /><br /><br /> Linux提供了内存映射函数mmap, 它把文件内容映射到一段内存上(准确说是虚拟内存上), 通过对这段内存的读取和修改, 实现对文件的读取和修改, 先来看一下mmap的函数声明:头文件:<unistd.h><sys/mman.h>原型: void *mmap(void *addr, size_t l转载 2010-11-07 13:44:00 · 815 阅读 · 0 评论 -
ioctl函数 ---瑞士军刀
<br /><br />ioctl代表输入/输出控制,它用于通过文件描述来操作字符设备。<br />Ioctl的格式如下所示:<br />ioctl(unsigned int fd, unsigned int request, unsigned long argument)<br />如果出错则返回值为-1,如果请求成功则返回值将大于或者等于0,这就像其他系统调用一样。内核能区分特殊文件和普通文件。 特殊文件一般可以在/dev和/proc中找到。他们与普通文件的区别在于,他们隐藏了驱动程序的接口,并不是一个转载 2010-11-07 00:30:00 · 1082 阅读 · 0 评论 -
利用/proc/scsi/usb-storage来判断 U盘的移入/移出
<br />/proc/scsi/下的文件夹usb-storage 在没有插入 U盘的时候,它是不存在的,故我们判断U盘的插入还是移出 就是通过判断opendir这个目录成功还是失败来判断。<br /><br /> 1 #include<stdio.h><br /> 2 #include<sys/types.h><br /> 3 #include<dirent.h><br /> 4 #include<stdlib.h><br /> 5 <br /> 6 int main(int argc , c原创 2010-11-15 17:59:00 · 3732 阅读 · 5 评论