发布时间:2013-01-30 17:18:46
对于pthread_create为创建线程传递参数的问题,先前只知道传递单个参数的方法,现在需要传递多个参数。 对于新手的我比较纠结,因此,上网查找资料,发现CU里面的一个帖子(帖子地址后面给出)。 下面把帖子中认为对自己有用的知识摘录下来,以后经常看看。 帖子内容: 1、传递int、short、char等,大小少于一个指针长度类型的,强制转换为(void*),然后在线程函数里转换回来即可; 2、传递多个参数的时候......【阅读全文】
发布时间:2013-01-30 17:18:42
进程与线程 为什么对于大多数合作性任务,多线程比多个独立的进程更优越呢?这是因为,线程共享相同的内存空间。不同的线程可用存取内存中的同一个变量。所以,程序中所有的线程都可以读或者写声明过的全局变量。如果曾用fork()编写过重要代码,就会认识到这个工具的重要性。为什么呢?虽然fork()允许创建多个进程,但它还会带来以下通信问题:如何让多个进程相互通信,这里每个进程都有各自独立的内存空间。对于这个问题没有一个简单的答案。虽然有许多不同种类的本地IPC(进程间通信),但它们都遇到两个重要障碍。强加了某种形式的额外内核开销,从而降低性能;对于大多数情形,IPC不是对于代码......【阅读全文】
发布时间:2012-12-27 14:12:18
信号 信号是软件中断。信号提供了一种处理异步事件的方法,属于异步事件的经典实例。 信号的名字都以SIG三个字符开头,例如SIGABRT是提前退出信号(进程调用abort函数产生),SIGALRM是闹钟信号(由alarm函数设置的计时器超时产生)。而Linux和Solaris都支持应用程序额外定义的信号。 在头文件<signal.h>中,信号都被定义为正整数(即信号编码)。(所以,不存在编号为0的信号。)而kill函数对信号编码0有特殊的应用,POSIX.1将此类信号编码值成为空信号。 UNIX的早期版本提供的信号模型并不可靠;4.3BSD和SVR3对信号模型做了更改,......【阅读全文】
发布时间:2012-12-27 14:08:44
GPIO模拟I2C是嵌入式中较为常用的一种应用。各个地方有各种不同的做法,按照我自己的个人理解,最好是把I2C的各种状态分割开来,比如起始条件终止条件,读数据和写数据,然后根据具体的使用场合组合起来。 这里需要注意两点:一是SCL的波形并不规律,不能将它理解为方波,它本身只是一段段独立的波形。二是每段操作时,之前和之后的SCL和SDA波形是可以忽略的;通常情况下I2C开始之前和I2C结束之后,两者都是有上拉的高电平,而在正常工作时两者不受控制的情况下都是默认低电平。三是I2C是要默认外部上拉的,但是不能有内部上拉也就是必须内部下拉,否则会出现I2C传输时的错误。点击(此处)折叠或打开(1)......【阅读全文】
发布时间:2012-12-27 14:02:09
sockaddr与sockaddr_in结构体简介2006-11-26 16:46 40145人阅读 评论(17) 收藏 举报 struct sockaddr {unsigned short sa_family; /* address family, AF_xxx */char sa_data[14]; &n......【阅读全文】