一: 1_3: (1) DIR *opendir(const char *name); (2) DIR *fdopendir(int fd); On error, NULL is returned; (3) struct dirent *readdir( DIR *dp) On error, NUL...
分类:
其他好文 时间:
2014-12-04 17:41:16
阅读次数:
138
如何读取Linux键值,输入子系统,key,dev/input/event,dev/event,C语言键盘?
这里先上一段代码,自己拿到linux系统运行就可以,注意代码中keys_fd = open("/dev/input/event2", O_RDONLY); 这里去你的/dev/input/event2的event事件,去查看你的键盘事件是那一个,如果是event3那么你改成...
分类:
系统相关 时间:
2014-12-04 14:03:39
阅读次数:
354
1 #include 2 #include 3 #include 4 #include 5 #include 6 #include 7 #include 8 #include 9 10 void my_daemon() {11 int pid, fd;12 13 //...
分类:
系统相关 时间:
2014-12-02 19:01:32
阅读次数:
192
转载请注明出处:帘卷西风的专栏(http://blog.csdn.net/ljxfblog) 前几天写了一篇博客,讲述了端口占用情况的查看和解决。 关于linux系统端口查看和占用的解决方案 大部分这种问题都能够解决,在文章的最后,提到了一种特殊情况,就是父子进程中的端口占用情况。父进程监听一个端口后,fork出一个子进程,然后kill掉父进程,再重启父进程,这个时候提示端口占用,用netstat...
分类:
系统相关 时间:
2014-12-02 17:20:51
阅读次数:
367
管道
Linux管道(pipe)提供一种单向(半双工)的进程间通讯机制。管道有一个读端和一个写端。从写端写入的数据可以重读端读出来。函数pipe()创建一个管道,返回两个文件描述符,fd[0]是读端,f[1]是写端。如下图
管道的读写可以使用Linux标准IO操作接口进行,例如read、write等。从图1不难看出,数据一直缓存在内核中直到被读取出来。
单个进程的管道几乎没有任何用处...
分类:
其他好文 时间:
2014-12-02 00:10:17
阅读次数:
301
epool与select的区别:
select在一个进程中打开的最大fd是有限制的,由FD_SETSIZE设置,默认值是2048。不过 epoll则没有这个限制,它所支持的fd上限是最大可以打开文件的数目,这个数字一般远大于2048,一般来说内存越大,fd上限越大,1G内存都能达到大约10w左右。
select的轮询机制是系统会去查找每个fd是否数据已准备好,当fd很多的时候,效率当然就直...
分类:
其他好文 时间:
2014-12-01 20:57:38
阅读次数:
136
以下是一个典型的串口初始化程序:#include "uart.h"#include #include #include #include #include int open_uart(char *Dev){ int fd=open(Dev,O_RDWR|O_NOCTTY|O_NDELAY); ...
分类:
系统相关 时间:
2014-11-30 16:44:18
阅读次数:
264