易截截图软件、单文件、免安装、纯绿色、仅160KB

linux下按下键退出while循环(类似于_kbhit)

#include <stdio.h>
#include <sys/select.h>
#include <termios.h>
#include <unistd.h>
#include <ctype.h>
#define STDIN     0
int main()
{
    struct timeval tv = {0,0};
    struct termios term , termbak;
    char   ch;
    fd_set    fd;
   
    FD_ZERO(&fd);
    FD_SET( STDIN ,&fd);
  tcgetattr(STDIN, &term);
  termbak = term;
    term.c_lflag &= ~(ICANON|ECHO);
    tcsetattr(STDIN, TCSANOW, &term);   
    while(1)
    {
        FD_ZERO(&fd);
        FD_SET( STDIN ,&fd);
        if(   1 == select( STDIN+1,&fd,NULL,NULL,&tv)
             && 1 == read( STDIN , &ch , 1 )
             && 'q' == tolower(ch) )
            break;
        putchar('.');fflush(stdout);
        usleep(100000);
    }
   
    tcsetattr(STDIN,TCSANOW,&termbak);
   
    return 0;
}
转载自:http://topic.csdn.net/u/20100115/10/7ec685ee-27ef-4b03-b184-ce0a1e728cde.html


相关文档:

查看linux发行版和内核信息

uname -a
cat /proc/version
cat /etc/issue
lsb_release -a (适用于所有的linux,包括Redhat、SuSE、Debian等发行版,但是在debian下要安装lsb,不安装加上-a参数查看部分)
如:
发行版:
# cat /etc/issue
内核:
# uname -r
......

ARM Linux驱动的编译(2.6内核)

1、将驱动源码放在/drivers/char/下
 
2、修改drivers/char/Kconfig文件,添加以下内容:
config My_Buttons
        tristate "My_Buttons test"
        depends on ARCH_S3C2440
        default y if ARCH_S3C2 ......

如何选择最适合你的Linux发行版


在写这篇文章的时候,有323个不同的发行版

distrowatch.com关注。有的被称作Ehad,有的叫做EstrellaRoja。很多名字里面都有包括一个“X”字母,一些展示特性的吉祥
物和自己的交流社区。他们当中并不是所有的都是完全基于Linux基础框架和发展活跃的,但大多数主流发行版如此。这是一个选择多样的世界,是 ......

Linux 同步方法剖析


Linux 同步方法剖析
内核原子,自旋锁和互斥锁
 
文档选项
 
将此页作为电子邮件发送
级别: 中级
M. Tim Jones, 顾问工程师, Emulex
2007 年 11 月 19 日
在学习 Linux® 的过程中,您也许接触过并发(concurrency)、临界段(critical section)和锁定,但是如何在内核中使用这些概念呢?本文讨 ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号