linuxheaderfile

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

1Linux内核所在目录为/usr/src/kernels/...2Linux头文件所在目录为/usr/include/...3找不见头文件可以用find命令查找find/-name*.hlinux常用头文件如下:POSIX标准定义的头文件dirent.h目录项fcntl.h文件控制read,write,fcntl,close,link,stat,umask,unlink,fopenO_RDONLYO_WRONLYO_NONBLOCK等。fnmatch.h文件名匹配类型glob.h路径名模式匹配类型grp.h组文件netdb.h网络数据库操作pwd.h口令文件regex.h正则表达式tar.hTAR归档值termios.h终端I/Ounistd.h符号常量unixstandardheader-unistd.h,STDIN_FILENO,STDOUT_FILENOutime.h文件时间wordexp.h字符扩展类型-------------------------arpa/inet.hINTERNET定义net/if.h套接字本地接口netinet/in.hINTERNET地址族netinet/tcp.h传输控制协议定义-------------------------sys/mman.h内存管理声明sys/select.hSelect函数sys/socket.h套接字借口sys/stat.h文件状态sys/times.h进程时间sys/types.h基本系统数据类型例如:size_t(signedint)off_t(long)sys/un.hUNIX域套接字定义sys/utsname.h系统名sys/wait.h进程控制------------------------------POSIX定义的XSI扩展头文件cpio.hcpio归档值dlfcn.h动态链接fmtmsg.h消息显示结构ftw.h文件树漫游iconv.h代码集转换使用程序langinfo.h语言信息常量libgen.h模式匹配函数定义monetary.h货币类型ndbm.h数据库操作nl_types.h消息类别poll.h轮询函数search.h搜索表strings.h字符串操作syslog.h系统出错日志记录ucontext.h用户上下文ulimit.h用户限制utmpx.h用户帐户数据库-----------------------------sys/ipc.hIPC(命名管道)sys/msg.h消息队列sys/resource.h资源操作sys/sem.h信号量sys/shm.h共享存储sys/statvfs.h文件系统信息sys/time.h时间类型sys/timeb.h附加的日期和时间定义sys/uio.h矢量I/O操作------------------------------POSIX定义的可选头文件aio.h异步I/Omqueue.h消息队列pthread.h线程sched.h执行调度semaphore.h信号量spawn.h实时spawn接口stropts.hXSISTREAMS接口trace.h事件跟踪3、C/C++头文件一览C#includeassert.h//设定插入点#includectype.h//字符处理#includeerrno.h//定义错误码#includefloat.h//浮点数处理#includeiso646.h//对应各种运算符的宏#includelimits.h//定义各种数据类型最值的常量#includelocale.h//定义本地化C函数#includemath.h//定义数学函数#includesetjmp.h//异常处理支持#includesignal.h//信号机制支持#includestdarg.h//不定参数列表支持#includestddef.h//常用常量#includestdio.h//定义输入/输出函数#includestdlib.h//定义杂项函数及内存分配函数如malloc、free、system、atoi、atol、rand、exit等#includestring.h//字符串处理,strlen(),strcat(),strcpy(),strcmp()等等#includetime.h//定义关于时间的函数#includewchar.h//宽字符处理及输入/输出#includewctype.h//宽字符分类传统C++#includefstream.h//改用fstream#includeiomanip.h//改用iomainip#includeiostream.h//改用iostream#includestrstrea.h//该类不再支持,改用sstream中的stringstream————————————————————————————————标准C++#includealgorithm//STL通用算法#includebitset//STL位集容器#includecctype//字符处理#includecerrno//定义错误码#includecfloat//浮点数处理#includeciso646//对应各种运算符的宏#includeclimits//定义各种数据类型最值的常量#includeclocale//定义本地化函数#includecmath//定义数学函数#includecomplex//复数类#includecsignal//信号机制支持#includecsetjmp//异常处理支持#includecstdarg//不定参数列表支持#includecstddef//常用常量#includecstdio//定义输入/输出函数#includecstdlib//定义杂项函数及内存分配函数#includecstring//字符串处理#includectime//定义关于时间的函数#includecwchar//宽字符处理及输入/输出#includecwctype//宽字符分类#includedeque//STL双端队列容器#includeexception//异常处理类#includefstream//文件输入/输出#includeal//STL定义运算函数(代替运算符)#includelimits//定义各种数据类型最值常量#includelist//STL线性列表容器#includelocale//本地化特定信息#includemap//STL映射容器#includememory//STL通过分配器进行的内存分配#includenew//动态内存分配#includenumeric//STL常用的数字操作#includeiomanip//参数化输入/输出#includeios//基本输入/输出支持#includeiosfwd//输入/输出系统使用的前置声明#includeiostream//数据流输入/输出#includeistream//基本输入流#includeiterator//STL迭代器#includeostream//基本输出流#includequeue//STL队列容器#includeset//STL集合容器#includesstream//基于字符串的流#includestack//STL堆栈容器#includestdexcept//标准异常类#includestreambuf//底层输入/输出支持#includestring//字符串类#includetypeinfo//运行期间类型信息#includeutility//STL通用模板类#includevalarray//对包含值的数组的操作#includevector//STL动态数组容器————————————————————————————————C99增加的部分#includecomplex.h//复数处理#includefenv.h//浮点环境#includeinttypes.h//整数格式转换#includestdbool.h//布尔环境#includestdint.h//整型环境#includetgmath.h//通用类型数学宏本文来自CSDN博客,转载请标明出处:***********************************************************************************************************************************程序在使用一个函数之前,应该首先声明该函数。为了便于使用,通常的做法是把同一类函数或数据结构以及常数的声明放在一个头文件(headerfile)中。头文件中也可以包括任何相关的类型定义和宏(macros)。在程序源代码文件中则使用预处理指令“#include”来引用相关的头文件。程序中如下形式的一条控制行语句将会使得该行被文件filename的内容替换掉:#include当然,文件名filename中不能包含和换行字符以及、'、、或/*字符。编译系统会在定义的一系列地方搜索这个文件。类似地,下面形式的控制行会让编译器首先在源程序所在目录中搜索filename文件:#includefilename如果没有找到,编译器再执行同上面一样的搜索过程。在这种形式中,文件名filename中不能包含换行字符和、'、、或/*字符,但允许使用字符。在一般应用程序源代码中,头文件与开发环境中的库文件有着不可分割的紧密联系,库中的每个函数都需要在头文件中加以声明。应用程序开发环境中的头文件(通常放置在系统/usr/include/目录中)可以看作是其所提供函数库(例如libc.a)中函数的一个组成部分,是库函数的使用说明或接口声明。在编译器把源代码程序转换成目标模块后,链接程序(linker)会把程序所有的目标模块组合在一起,包括用到的任何库文件中的模块。从而构成一个可执行的程序。对于标准C函数库来讲,其最基本的头文件有15个。每个头文件都表示出一类特定函数的功能说明或结构定义,例如I/O操作函数、字符处理函数等。有关标准函数库的详细说明及其实现可参照Plauger编著的《TheStandardCLibrary》一书。而对于本书所描述的内核源代码,其中涉及的头文件则可以看作是对内核及其函数库所提供服务的一个概要说明,是内核及其相关程序专用的头文件。在这些头文件中主要描述了内核所用到的所有数据结构、初始化数据、常数和宏定义,也包括少量的程序代码。除了几个专用的头文件以外(例如块设备头文件blk.h),Linux0.12内核中所用到的头文件都放在内核代码树的include/目录中。因此编译Linux0.12内核无需使用开发环境提供的位于/usr/include/目录下的任何头文件。当然,tools/build.c程序除外。因为这个程序虽然被包含在内核源代码树中,但它只是一个用于组合创建内核映像文件的工具程序或应用程序,不会被链接到内核代码中。从0.95版开始,内核代码树中的头文件需要复制到/usr/include/linux目录下才能顺利地编译内核。即从该版内核开始头文件已经与开发环境使用的头文件合二为一#

1 / 7
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功