
Linux程序开发
文章平均质量分 83
dos5gw
博客已拆迁
展开
-
(zz)linux - 驱动中如何访问CPU中的寄存器?
http://blog.chinaunix.net/u2/68846/showart_692324.html正在移植2440, 偶然看2.6.32代码的时候, 发现smdk2440的mach-smdk2440.c中有如下结构体定义:static struct map_desc smdk2440_iodesc[] __initdata = { /* ISA IO Space map (memory space selected by A24) */ { .virtual = (u32)S3C24转载 2010-08-16 11:56:00 · 1849 阅读 · 0 评论 -
总结: linux下的多线程API (POSIX线程)
POSIX线程:一个完成的线程/进程包括三部分,代码+数据+内存栈;子线程和子进程在被创建的时候,对于fork()创建子进程,三部分都要复制一份,数据包括比如文件描述符,虚拟内存,子进程关闭文件描述符不会影响父进程中的描述符;对于pthread_create()创建子线程的时候,只有内存栈被复制,其他的部分(代码,数据都是共享的),如果一个线程改变了某变量的值,其他所有的线程都调用的是改变之后的值;头文件#include 编译参数: -lpthread(一)涉及到的类型: pthread_t, pthre原创 2011-02-09 18:36:00 · 2502 阅读 · 1 评论 -
[zz]我的Linux书架
<br /><br />作者:wwang <br />出处:http://www.cnblogs.com/wwang <br />本文采用知识共享署名-非商业性使用-相同方式共享 2.5 中国大陆许可协议进行许可,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接。<br /> <br />工作几年来,一直从事Linux内核驱动方面的开发。从接触Linux到现在,读过不少Linux方面的书籍,现把认为很不错的一部分列出来和大家分享一下。入门类一直认为,在一个系统上学习开发之前,首先需转载 2011-02-11 17:25:00 · 738 阅读 · 0 评论 -
pthread_jion() , pthread_create() 导致的segmentation fault
下午调试程序的“segmentation fault”,先上代码:int main(){ printf("entering main() /n"); init_globals(); /*initialize global variable defined in main.c*/ init_iic(); init_spi(); if(init_sock() == -1){ exit(1); } sock_listen_tid = pth原创 2011-03-04 16:13:00 · 3720 阅读 · 0 评论 -
[zz] Socket send函数和recv函数详解
Send函数int send( SOCKET s, const char FAR *buf, int len, int flags ); 不论是客户还是服务器应用程序都用send函数来向TCP连接的另一端发送数据。客户程序一般用send函数向服务器发送请求,而服务器则通常用send函数来向客户程序发送应答。该函数的第一个参数指定发送端套接字描述符;第二个参数指明一个存放应用程序要发送数据的缓冲区;第三个参数指明实际要发送的数据的字节数;第四个参数一般置0。这里只描述同步Soc转载 2011-03-08 09:47:00 · 1016 阅读 · 0 评论 -
perror()打印“ Address already in use ”的解决方法,key words:errno perror bind setsockopt
代码如下:if( bind(local_sock_fd,(struct sockaddr*)(&local_sock_addr),sizeof(struct sockaddr)) == -1){ perror("ERROR bind()"); return -1; }运行时发现终端打印出ERROR bind() : Address already in use转自:http://blogold.chinaunix.net/u2/69143/showart_1019104.转载 2011-03-14 10:07:00 · 1417 阅读 · 0 评论 -
linux下信号量semaphore的应用
<br /> <br />http://www.yuanma.org/data/2006/0721/article_1195.htm<br /><br /><br /><br /><br />生产者线程用于往链表里添加节点,数个工作线程从链表取出节点并处理。对于一般的mutex_lock,mutex_unlock方式,如果这一段时间没有工作,那么工作线程将会不停的调用lock,unlock操作。而这样的操作毫无疑义。<br /> <br />在这里系统给我们提供了另外一种同步机制,信号灯,Semaphore转载 2011-03-25 14:47:00 · 856 阅读 · 0 评论 -
[zz] write的奥秘
原文地址 http://www.linuxforum.net/doc/write-coly.html 在Linux下我们在使用设备的时候,都会用到write这个函数,通过这个函数我们可以象使 用文件那样向设备传送数据。可是为什么用户使用write函数就可转载 2011-03-14 10:07:00 · 634 阅读 · 0 评论 -
linux下 select() 函数的用法小结
Select的函数格式(我所说的是Unix系统下的伯克利socket编程,和windows下的有区别,一会儿说明): int select(int maxfdp,fd_set *readfds,fd_set *writefds,fd_set *errorfds,struct timeval *timeout); 先说明两个结构体: 第一,struct fd_set可以理解为一个集合,这个集合中存放的是文件描述符(file descriptor),即文件句柄,这可以是我们所说的普通意义的文件,当然Unix下任原创 2011-03-08 14:28:00 · 834 阅读 · 0 评论