导航:首页 > 编程系统 > linuxc函数库参考手册

linuxc函数库参考手册

发布时间:2025-02-18 13:47:28

linux下有没有类似Windows的VC下的kbhit()函数我需要用

① 没有直接的对应,需要自己实现。

② 可以写c函数、汇编、或用第3方跨平台的函数库(比如ncurses)。下面是linux下c函数实现:

#include<stdio.h>
#include<termios.h>
#include<unistd.h>
#include<sys/types.h>
#include<sys/time.h>

voidchangemode(int);
intkbhit(void);
intmain(void)
{
intch;
changemode(1);/*注意,打开mode*/
while(!kbhit())
{
putchar('.');
}

ch=getchar();
printf(" Got%c ",ch);
changemode(0);/*注意,关闭mode*/
return0;
}

voidchangemode(intdir)
{
staticstructtermiosoldt,newt;

if(dir==1)
{
tcgetattr(STDIN_FILENO,&oldt);
newt=oldt;
newt.c_lflag&=~(ICANON|ECHO);
tcsetattr(STDIN_FILENO,TCSANOW,&newt);
}
else
tcsetattr(STDIN_FILENO,TCSANOW,&oldt);
}

intkbhit(void)
{
structtimevaltv;
fd_setrdfs;

tv.tv_sec=0;
tv.tv_usec=0;

FD_ZERO(&rdfs);
FD_SET(STDIN_FILENO,&rdfs);

select(STDIN_FILENO+1,&rdfs,NULL,NULL,&tv);
returnFD_ISSET(STDIN_FILENO,&rdfs);
}

---- 上述代码来自互联网。

② 从事linux 下c开发,要学哪些知识推荐一下每个学习阶段的书籍,越详细越好。

想要把C开发学好,最有效的方法,是从用linux系统开始,安装linux或者linux虚拟机,边用边学。这里推荐一本极好的书《鸟哥liunx私房菜》,通俗易懂,真的很不错!
然后就是C开发,分为两大块:底层与应用!
C开发相对服务器管理较为深奥的,需要长时间的积累,还要了解硬件知识,操作系统的基本原理,Makefile语法等。建议从驱动程序入手,因为驱动程序是linux内核中模块化比较强的部分,相对易于理解,而且链接软件与硬件,能够从整体来学习。
这方面有很多经典书籍,其中入门比较好的有:
《嵌入式Linux应用开发完全手册》 韦东山著

内核与驱动编程类: 《linux设备驱动开发详解》 宋宝华著
《linux内核设计与实现》 Robert Love著 (学内核最好读物)
linux应用编程类: 《Unix环境高级编程》 (被誉为“圣经”)
《linux程序设计》
建议先看应用编程类,因为不涉及底层的内容,相对容易理解。等到这几本书消化的差不多了,就开始看经典之作《linux设备驱动程序》和《深入理解linux内核了》,这两本书非常权威,我也都看过,觉得讲的确实比其他书籍更细节,更准确。
这些基本可以说是最好的学习linux的书籍,只要循序渐进的看书,实践,一定会有效果的。

③ linux下c语言编程read()函数的问题

返回-1的时候,要根据错误码来判断原因,请看下面的函数说明:

表头文件 #include<unistd.h>
定义函数版 ssize_t read(int fd,void * buf ,size_t count);
函数说明 read()会把参数fd 所指权的文件传送count个字节到buf指针所指的内存中。若参数count为0,则read()不会有作用并返回0。返回值为实际读取到的字节数,如果返回0,表示已到达文件尾或是无可读取的数据,此外文件读写位置会随读取到的字节移动。
附加说明 如果顺利read()会返回实际读到的字节数,最好能将返回值与参数count 作比较,若返回的字节数比要求读取的字节数少,则有可能读到了文件尾、从管道(pipe)或终端机读取,或者是read()被信号中断了读取动作。当有错误发生时则返回-1,错误代码存入errno中,而文件读写位置则无法预期。
错误代码 EINTR 此调用被信号所中断。 EAGAIN 当使用不可阻断I/O 时(O_NONBLOCK),若无数据可读取则返回此值。 EBADF 参数fd 非有效的文件描述词,或该文件已关闭。

④ linux下C语言的库函数的头文件放在哪个目录下啊

一般来说是放在来/usr/include目录下的;

但是这个源并不局限也是可控的,如果我们进行开发过程中, 就会在内核的库函数文件目录:

例如在:/XXX/XXX/linux-X.X/include

所以根据不同的情况,头文件存放的目录也是不同的,具体需要可以根据locate和grep命令进行查询。

阅读全文

与linuxc函数库参考手册相关的资料

热点内容
飞常准的数据来自哪里 浏览:844
ug100如何编程画线 浏览:870
文件夹999找不到 浏览:145
win1014393最新版本号 浏览:100
java基本类型大小 浏览:516
word2007不能插入页码 浏览:968
vb读取文件并判断 浏览:6
php图片和程序分离 浏览:412
安卓面试非计算机专业 浏览:228
u盘的光盘文件怎么驱动 浏览:34
如何锁定c盘不下文件 浏览:359
浙江推广网站建设怎么做 浏览:478
word文件只有10页怎么增加 浏览:921
itunes下载的系统在哪个文件夹 浏览:605
个性化linux全名要求 浏览:40
数据表格制图小红点如何去掉 浏览:244
查询iphone版本信息失败怎么办 浏览:978
电脑版微信下载的文件保存在哪里 浏览:367
linuxsocket转发 浏览:32
迷你兔数据恢复软件可免费恢复多少 浏览:139

友情链接