|
|
EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
5 N$ p9 M& j* n2 z
/ ]; I& [# q8 k. V1 r8 \<assert.h>:ANSI C。提供断言,assert(表达式)4 t) H/ Z4 z, z9 ]
<glib.h>:GCC。GTK,GNOME的基础库,提供很多有用的函数,如有数据结构操作函数。使用glib只需要包含<glib.h>
9 f; k6 M9 j1 p3 \. f7 Z, q<dirent.h>:GCC。文件夹操作函数。struct dirent,struct DIR,opendir(),closedir(),readdir(),readdir64()等) {+ C- y( ~6 Z1 E
<ctype.h>:ANSI C。字符测试函数。isdigit(),islower()等# p1 C9 w: l" k& _/ h
<errno.h>:ANSI C。查看错误代码errno是调试程序的一个重要方法。当linuc C api函数发生异常时,一般会将errno变量(需include errno.h)赋一个整数值,不同的值表示不同的含义,可以通过查看该值推测出错的原因。在实际编程中用这一招解决了不少原本看来莫名其妙的问题。比较 麻烦的是每次都要去linux源代码里面查找错误代码的含义,现在把它贴出来,以后需要查时就来这里看了。来自linux 2.4.20-18的内核代码中的/usr/include/asm/errno.h
- k0 b$ l. P+ d1 y9 W. J9 O# I<getopt.h>:处理命令行参数。getopt()
, o7 A5 i; z7 U7 }+ p) O % H7 p) e5 z% Q2 [# X0 |4 j
-------------------------
\7 S8 W- C" y& E$ s; s
; B$ B8 ^/ ?0 N* l
+ W- R( \$ \% plinux常用头文件如下:
* V( E, \% H$ g: c
0 n; P, J2 Y7 R# q% C9 u" Q4 s! ]% H- Q5 ~0 ~' B
POSIX标准定义的头文件
E7 ^5 G! f9 L9 w. n% a
- C! o) Y$ J, G7 q! @: ?4 N5 }/ N- D& q9 s/ C% D- ~; M
<dirent.h> 目录项6 b' b k' a* ^. o T) ?" L8 F$ k4 y/ G
<fcntl.h> 文件控制
/ L8 k2 b6 w& e' D<fnmatch.h> 文件名匹配类型
8 `0 F( t$ ^- P- O. |, k<glob.h> 路径名模式匹配类型- `# b _: T9 W" {; p/ @
<grp.h> 组文件0 t. X' o' o/ D* x2 J+ }" y
<netdb.h> 网络数据库操作% J; c: R9 U: ?9 u
<pwd.h> 口令文件+ p$ H9 m. M* M5 R7 p) y
<regex.h> 正则表达式: f2 _, _2 a% b! C: U
<tar.h> TAR归档值
: L) ?6 f) c. B2 F2 ]7 u4 U<termios.h> 终端I/O) f& ?+ V/ ?' F3 M& r, |
<unistd.h> 符号常量' o4 V$ k) P% ~7 P! ~- u' [( e
<utime.h> 文件时间
. m( U6 H4 c" l/ \" Q, b1 e<wordexp.h> 字符扩展类型
- n& J0 L" k9 H+ O7 p4 d+ j0 R4 B5 I# t8 S Q# V8 W0 n
: p5 k. q2 j" f2 M, D-------------------------
, ~6 \' w: V4 g! I
; [$ h# v2 F# I# c% V9 K# A( E x; d3 t" M
<arpa/inet.h> INTERNET定义3 l1 C% F& @9 A, Q9 a2 E( F- \
<net/if.h> 套接字本地接口
' O! ?$ V& b* ^7 s<netinet/in.h> INTERNET地址族
6 M# L4 s5 X/ J7 O7 I' {<netinet/tcp.h> 传输控制协议定义
% @- o; H0 ^& j+ c" g! T* m& q! d! _
2 m9 A6 ]& M# Z) y8 S
' p+ f) z! N* c; n* s8 A-------------------------
, \. ]# P% M' [* y
% F# \7 o& P( V: c
+ J% v# M7 X' E, M2 y- E8 O. @<sys/mman.h> 内存管理声明
* N. U- e. [7 B* ], S, o: ~. \2 H<sys/select.h> Select函数
+ A3 ` Y! F: m9 h<sys/socket.h> 套接字借口
3 b# ?, V" s+ x, L! p, t<sys/stat.h> 文件状态' f, }& s( X# g; o
<sys/times.h> 进程时间
# V, {& m9 I6 \8 e7 D<sys/types.h> 基本系统数据类型
, @( B0 Z2 G! l- F+ K! i<sys/un.h> UNIX域套接字定义
) n$ W; m% I* n4 D- f$ H' S8 P<sys/utsname.h> 系统名
' Z M. s* J9 e. B! n6 y8 I" s<sys/wait.h> 进程控制
9 w& q: x' E1 J* f: f6 ]" W) q; J3 I6 }' ?# \/ P& s: h
n$ t1 t* v* e0 a l! ?1 F: E------------------------------5 @/ q$ r7 p# A3 Z* j
5 u9 P$ @2 c6 T5 o
. @ P1 t6 a0 ~, G. B/ y9 ?0 dPOSIX定义的XSI扩展头文件
4 v8 W d: f8 B+ c0 S8 [6 ]1 j# K3 X
- Y" Q2 _4 h: X: N1 l4 W* i
<cpio.h> cpio归档值 9 E3 U; K6 u3 S( m6 o
<dlfcn.h> 动态链接- P: U0 q# s* T* X( u" a
<fmtmsg.h> 消息显示结构
`9 f8 S: e/ ?; }<ftw.h> 文件树漫游
8 y7 K: q, @- x! z& z2 ?! \! l<iconv.h> 代码集转换使用程序
) Q' U% q# \7 [7 t4 C+ ~<langinfo.h> 语言信息常量4 O% y; u+ M4 f7 M8 e
<libgen.h> 模式匹配函数定义* b6 X% K% P0 u, Z- I& G0 q
<monetary.h> 货币类型
4 U. H5 Z& a% s) X; S" ^3 I<ndbm.h> 数据库操作/ _% Z% }) |& d/ F3 I* Q8 C
<nl_types.h> 消息类别
3 c& A1 c& ~0 N5 R5 }<poll.h> 轮询函数! s6 T: x, d' F* I/ |
<search.h> 搜索表
# m9 R7 r8 m7 U$ J% D" `<strings.h> 字符串操作2 W5 U& e; T) l6 V0 i1 c
<syslog.h> 系统出错日志记录( R- F0 N% R; x9 {! V
<ucontext.h> 用户上下文* H8 ?' c: g9 `
<ulimit.h> 用户限制: y- }; b/ s6 K" ~
<utmpx.h> 用户帐户数据库
- g0 V/ _2 @6 U q/ h4 V$ r6 F' v' Z% j; q" m# w, t& [
6 }* k5 {( h2 L+ s9 I3 G
-----------------------------9 }! f4 B- M6 E* W
' N) u" y9 \/ L- j
0 E8 ~) X7 B0 o) A<sys/ipc.h> IPC(命名管道)
9 {! r( C2 V+ h. v$ v* @<sys/msg.h> 消息队列
+ J: K8 l, }6 T: x, ~! J<sys/resource.h>资源操作# O& c' z) r2 N8 A6 G6 I. l2 x
<sys/sem.h> 信号量( X7 q6 }, f. I( \7 _% H
<sys/shm.h> 共享存储
- t1 w) D4 w7 C m) u<sys/statvfs.h> 文件系统信息
3 `8 p7 A3 q$ K# Z<sys/time.h> 时间类型
& z; j. u# f/ F<sys/timeb.h> 附加的日期和时间定义
. Q7 X" H7 O" ~. Y( E<sys/uio.h> 矢量I/O操作6 o2 b. C" C6 `8 S/ |4 d7 ^, k
# ?. i$ z* J9 \* }
! F4 g. C: Z% q; r' ^! N# i: V6 z, S! \------------------------------ |5 l! ? M! H5 {/ ]. x. @
) j0 i7 m- g0 W1 E8 W( r% m& K# R. q5 _+ S( }
POSIX定义的可选头文件
5 r. h$ U" o- ^% q4 r. l, E+ f2 U" s q3 x# \9 l. ^# A
0 d/ v$ C# L2 n2 G6 U3 |" {! f<aio.h> 异步I/O$ R8 l! Z. [: _/ ~3 k
<mqueue.h> 消息队列+ D* o, t" y8 z) L% V2 h2 _/ d
<pthread.h> 线程
1 O b$ X B% c" g$ I- s<sched.h> 执行调度" `' ?6 U# R [9 X2 L9 z) i6 z# ^
<semaphore.h> 信号量
! C4 u6 N7 Y. P7 p- E<spawn.h> 实时spawn接口
: ^; ?! Y2 @! @ J/ U# H<stropts.h> XSI STREAMS接口
; o0 }3 Y$ \7 R" \) ?1 y<trace.h> 事件跟踪; _/ I( e7 b9 ^' }+ v' B
; u3 T6 b, r+ G! h ]/ U2 H: S3 V" i2 A8 ? K6 J& a( N
3、 C/C++头文件一览) o& U1 V0 _' [4 T+ E
: G* d) j. e# I; f" y' V
# y8 f, i/ ]4 P( K; q% q9 h; `5 JC' \# ?; q" Q. k) H
/ C% R F7 R7 G1 ?
; l2 R- s5 F, q+ H) @7 `# x
#include <assert.h> //设定插入点' @7 d3 O$ }( _; i' Q
#include <ctype.h> //字符处理
% O1 y9 W6 \$ D$ Y#include <errno.h> //定义错误码
6 b% o+ w0 c5 Z3 u9 |+ V$ @#include <float.h> //浮点数处理4 c7 P: Y; j! H
#include <iso646.h> //对应各种运算符的宏 P, P6 Z( w- {" h5 P
#include <limits.h> //定义各种数据类型最值的常量
' _: L& @7 G$ O6 r/ p#include <locale.h> //定义本地化C函数4 o; ?, W+ w3 s/ k9 R+ X
#include <math.h> //定义数学函数
7 z# u' Y& L# a# r#include <setjmp.h> //异常处理支持
9 _9 X& C/ D2 c#include <signal.h> //信号机制支持
/ _; N* i# @; I" k/ W* Q#include <stdarg.h> //不定参数列表支持
! P# k" O! U* ^+ l# a#include <stddef.h> //常用常量
M8 ?% x+ U2 _2 i' X% W& ~- T#include <stdio.h> //定义输入/输出函数
# ?" a& n% h$ o#include <stdlib.h> //定义杂项函数及内存分配函数( C& ~; c& y1 t; R( f% T% G
#include <string.h> //字符串处理
+ z1 ?0 W$ L# p" v#include <time.h> //定义关于时间的函数
8 v" O( C: u8 V& f. U#include <wchar.h> //宽字符处理及输入/输出& j# J: C; M0 r4 M( v) T
#include <wctype.h> //宽字符分类1 _9 s# H3 E9 O B
. \9 E p2 |* P, A- d1 J: r: p
& y+ [7 [, R4 ?8 J9 j8 A
传统C++1 {: f0 u% Z* }9 d( y' r1 J
8 b4 k% t" w3 p) z* R1 b6 I
5 T8 q; J! C& |, P# @#include <fstream.h> //改用<fstream>) a) d+ V, o/ K5 v' `6 w. `1 g
#include <iomanip.h> //改用<iomainip>
% v% m- {) s( }- M1 Q: V0 E2 T#include <iostream.h> //改用<iostream>
7 L; B2 P2 Z3 j2 ^#include <strstrea.h> //该类不再支持,改用<sstream>中的stringstream
& s8 m$ H1 Q7 x9 \- | U/ B) T" c7 j
9 P4 V: T0 F5 E0 ]. r, S
4 f7 |8 F- e8 Y/ ?————————————————————————————————/ S. i8 }8 {) }/ r
' }; V. ], Y4 b; v# q4 l( t
9 a7 h9 U" r% ^$ P标准C++ 7 \8 h" M* ]- R' p* B2 t' T6 {' k4 n
`& B% O7 \4 U2 m" Y7 Y
+ t9 G* F8 Y( F& I- Y- w
#include <algorithm> //STL 通用算法 A8 L, p: k) b1 f6 ]
#include <bitset> //STL 位集容器( p3 d5 e$ f7 }6 x. ~1 A
#include <cctype> //字符处理
) D/ q2 Q: h9 R$ l) ~#include <cerrno> //定义错误码1 ?" o3 h- a% E) S1 G
#include <cfloat> //浮点数处理$ g; S3 f4 D5 o" a }- I) \
#include <ciso646> //对应各种运算符的宏
) f9 C" H+ m H. i, \ X C4 h#include <climits> //定义各种数据类型最值的常量
1 Q( p. p& b. i. N& v. ?+ N3 s#include <clocale> //定义本地化函数, i1 G) k* U1 \& |
#include <cmath> //定义数学函数
: e: A" H0 Y% o#include <complex> //复数类: K5 u4 y: Y, F4 O
#include <csignal> //信号机制支持- X }# D1 g2 Y. g
#include <csetjmp> //异常处理支持
0 T2 j7 I" ~/ j0 m0 c6 r#include <cstdarg> //不定参数列表支持, r! y7 P3 l$ `+ c" `+ S( J
#include <cstddef> //常用常量
m! S* C7 S7 _& j1 [#include <cstdio> //定义输入/输出函数+ Y. H" U! Q' x. G7 I
#include <cstdlib> //定义杂项函数及内存分配函数
9 [- i+ J1 g3 H4 y" B$ ]" y#include <cstring> //字符串处理
/ j8 t9 f& A7 d2 w8 E- ?" f#include <ctime> //定义关于时间的函数; Z+ q+ M" ?5 S; m( g
#include <cwchar> //宽字符处理及输入/输出
# s% d3 b3 o: S8 K( k; _; d#include <cwctype> //宽字符分类
1 p0 T/ m1 K, _, E#include <deque> //STL 双端队列容器
: O; w0 L$ [7 d#include <exception> //异常处理类2 y' \1 B- ~, b3 g9 F6 b
#include <fstream> //文件输入/输出
, M) h5 W( \0 e+ E- B# k( N, c#include <functional> //STL 定义运算函数(代替运算符)3 q; u- w- _9 u x5 H
#include <limits> //定义各种数据类型最值常量9 p5 K9 J2 ?1 ~
#include <list> //STL 线性列表容器; ?4 ~4 ^4 f1 J; f4 h: Y
#include <locale> //本地化特定信息 f1 O0 O6 [* g7 j
#include <map> //STL 映射容器
) Q8 F* T# l# v" ]. n3 C#include <memory> //STL通过分配器进行的内存分配
; B# a& l+ _. n2 ]#include <new> //动态内存分配
$ w. Y) q7 F) R5 {+ f#include <numeric> //STL常用的数字操作
# V' ?8 S) e. q, M, J#include <iomanip> //参数化输入/输出
/ @1 @+ t& L0 v. K1 o! p#include <ios> //基本输入/输出支持+ ? Z) W- U9 n
#include <iosfwd> //输入/输出系统使用的前置声明
! N. f) q9 t! o3 p9 |/ O% y! J; B#include <iostream> //数据流输入/输出6 ` @) N4 }% F+ Q2 ?
#include <istream> //基本输入流
b# E8 q9 x( g* ^6 f#include <iterator> //STL迭代器
9 h0 k' h* J Y; a#include <ostream> //基本输出流6 o5 p% Y" f7 Q3 }! T% A% B
#include <queue> //STL 队列容器
/ [9 d8 h' n, M$ _#include <set> //STL 集合容器
* u; |7 `" }3 A' U- a7 z#include <sstream> //基于字符串的流
# p, e! t& q1 x; R#include <stack> //STL 堆栈容器5 ~9 ? z5 T9 F, B) a
#include <stdexcept> //标准异常类
& ?$ s" g/ ?8 k; V: ?#include <streambuf> //底层输入/输出支持3 u& `9 f a. h3 p
#include <string> //字符串类
9 y7 k% c2 R5 X- F% R; ~3 P7 Q6 c; n#include <typeinfo> //运行期间类型信息
; p1 |5 J) Z9 G: X#include <utility> //STL 通用模板类
( y6 i$ {% o p( K, \1 J* O, n) J# D#include <valarray> //对包含值的数组的操作
8 Q. Y# ^, J4 ]4 z. C$ u0 E#include <vector> //STL 动态数组容器8 u& q; [# r9 j! h+ p* }& y, P
6 u1 A$ J Y |& Q0 m. f% T- Z8 ~& A
; j' I: l9 g6 _3 O1 l
# c/ m7 X" L* _) j- R% _( L2 T- m
: q+ `8 V' s. j( Z. @6 O. @+ \! K7 z$ x7 @
" m& V n7 c5 q# {' M* j0 H$ [! u4 i% H- o+ l! f6 R* q; X
|
|