|
|
EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
# E% I- {* L( p% }# e& p
: {$ F* s7 P- w, C
<assert.h>:ANSI C。提供断言,assert(表达式)
: o9 M" K7 g+ J, L% ]# |<glib.h>:GCC。GTK,GNOME的基础库,提供很多有用的函数,如有数据结构操作函数。使用glib只需要包含<glib.h>
, Q- H& d X8 h<dirent.h>:GCC。文件夹操作函数。struct dirent,struct DIR,opendir(),closedir(),readdir(),readdir64()等+ C; X J+ N0 h7 [
<ctype.h>:ANSI C。字符测试函数。isdigit(),islower()等3 i o% P6 o. U3 s5 H
<errno.h>:ANSI C。查看错误代码errno是调试程序的一个重要方法。当linuc C api函数发生异常时,一般会将errno变量(需include errno.h)赋一个整数值,不同的值表示不同的含义,可以通过查看该值推测出错的原因。在实际编程中用这一招解决了不少原本看来莫名其妙的问题。比较 麻烦的是每次都要去linux源代码里面查找错误代码的含义,现在把它贴出来,以后需要查时就来这里看了。来自linux 2.4.20-18的内核代码中的/usr/include/asm/errno.h
5 x+ C2 b; S, X5 P5 G8 @8 R: n<getopt.h>:处理命令行参数。getopt()+ ~6 D6 J7 x) E! `0 e
0 W1 _6 v2 }2 f+ ?1 r-------------------------
" C) C7 n0 ]! X0 \) L1 I$ M" {$ g# J7 s: S4 H8 H( D
: G! A. D! e3 o0 Y. V9 ^2 S, h
linux常用头文件如下:
g m3 u" q4 P6 \* O( O T) I* n5 M: `; f5 ~
* Y3 a7 u7 R, m8 C: M3 H: Z2 A
POSIX标准定义的头文件4 S+ g" G* M4 o9 _( Z& L2 O; ~
+ P$ \! _9 \2 j8 A+ Q9 |
! |; {) e( x' o5 A) Y9 W
<dirent.h> 目录项
8 E* D$ H/ A F8 s3 b3 r$ c<fcntl.h> 文件控制
$ p* W. b8 S5 S! J- {0 E' K<fnmatch.h> 文件名匹配类型2 V6 ~3 |$ k7 u. P5 k
<glob.h> 路径名模式匹配类型
# \6 @/ ]: W, m7 @& z: b+ b<grp.h> 组文件
# ?4 H$ O. B' L1 q' y: X6 q<netdb.h> 网络数据库操作- ]# K, @* @% A4 K( s* T/ a
<pwd.h> 口令文件. p- c5 M# J2 s5 F
<regex.h> 正则表达式
( j+ G9 t2 d5 A p+ A2 q+ s; {( r<tar.h> TAR归档值* m$ h# g' [/ o! L- N
<termios.h> 终端I/O( d; l3 s, z" |1 ^0 i; C2 ?
<unistd.h> 符号常量
1 s8 D- f' d3 Z6 \% C3 h<utime.h> 文件时间
. v4 c3 F+ y( G% b( d4 d<wordexp.h> 字符扩展类型/ C5 k$ h- Q8 {4 l+ Q. z& ]
/ y, M- E& c; D- w. |: X1 t
1 D' N) G" ]; m-------------------------
0 N& I" B! r; W" m, x! M: E: z8 ^! f/ G
9 b: \8 c- o- i/ R* x5 Q! I7 Q$ [
<arpa/inet.h> INTERNET定义1 t+ [6 D6 m0 s- @5 A1 h/ T" m7 Y
<net/if.h> 套接字本地接口% v3 Y' }. j5 U8 Y. l. A
<netinet/in.h> INTERNET地址族7 G" s0 h5 Y9 W& K
<netinet/tcp.h> 传输控制协议定义6 h& k( {$ _+ A# d( q# G
5 P' r6 K' n0 F- d6 j
0 Q& o* ~% u' u2 j6 n/ a! R, y
-------------------------
" U) j4 M% v2 }. |; q
# l e) S' i; M9 c
, |. l$ l/ S! L7 G/ V<sys/mman.h> 内存管理声明! @7 M2 ?. M1 V
<sys/select.h> Select函数4 ^8 N, T; I# r, \/ R$ {# C9 V
<sys/socket.h> 套接字借口- I9 E9 [8 r3 ]7 o1 R$ k- H5 o- u0 l
<sys/stat.h> 文件状态4 x, s/ z {: [/ i% X
<sys/times.h> 进程时间, h0 |# v+ M- W4 Q
<sys/types.h> 基本系统数据类型7 Z) |) {" W8 P$ b4 W3 P8 w1 U R
<sys/un.h> UNIX域套接字定义
4 X4 `, G. ]& _+ R: t! G3 C<sys/utsname.h> 系统名
4 ?5 r7 ?2 g, F% ?4 e<sys/wait.h> 进程控制
0 R3 G+ e% C4 J; F" w2 X
# M7 i6 \( a. E3 h* X
- X9 K; V6 }% c7 ^$ [, i------------------------------
. S! m% r2 I2 j( F% r" N
* k7 O0 G2 F( J) n* i0 _7 n# F9 K \1 P6 r3 ?
POSIX定义的XSI扩展头文件
- W" X+ D0 i2 I
( S2 E$ y5 d, Z7 i4 {# L
8 I3 N+ n) W9 G" D<cpio.h> cpio归档值
( H+ q) F5 m8 }5 A% X# y' o<dlfcn.h> 动态链接5 K+ c( l% _9 e1 f- m
<fmtmsg.h> 消息显示结构
. _% {# p8 q& s( y5 H<ftw.h> 文件树漫游
4 n2 Y9 _6 I/ A, p<iconv.h> 代码集转换使用程序
! b e6 e. E; x2 B. h# ]# T<langinfo.h> 语言信息常量; F$ b. S. T7 N `
<libgen.h> 模式匹配函数定义, S! T6 f5 t& n
<monetary.h> 货币类型
& [: ] X+ L2 u! J1 F' u( t<ndbm.h> 数据库操作
( W5 N9 h& Q9 Q+ x( \/ s<nl_types.h> 消息类别* l: G# s. {6 ?
<poll.h> 轮询函数5 J) X' `/ R- I$ g* B+ T$ d% {
<search.h> 搜索表' S8 ] ^! D& G" S, w- T, Y
<strings.h> 字符串操作9 ~) g) T$ ^+ E8 k8 j% s. Z( s
<syslog.h> 系统出错日志记录+ a y; c, E, L0 c. f
<ucontext.h> 用户上下文! s/ j6 Y% |# b$ \( T& b Z
<ulimit.h> 用户限制6 o7 g( s9 D" @" f8 M
<utmpx.h> 用户帐户数据库 - t g ]4 m) J4 b; l0 k
+ x H Z3 H) ^1 E; l& T# n7 t! b
0 W0 R4 u# M* W5 \0 t9 p-----------------------------# C8 K& P* n3 [5 K
2 b3 s6 A. S7 t3 p [& I& e# ]
" A& ~) _" b4 K: B4 ^8 x<sys/ipc.h> IPC(命名管道)
9 ?9 t% T- R1 Y' X, V% X' C+ Q<sys/msg.h> 消息队列, I; M3 N) f, e2 k- G, F1 s; O! u
<sys/resource.h>资源操作# M0 P7 j/ \9 f
<sys/sem.h> 信号量
! A' v$ O# n6 n- }- \<sys/shm.h> 共享存储( B' M: X" N9 H8 C/ h/ \+ A& M0 k
<sys/statvfs.h> 文件系统信息
) u0 a$ r8 V, i. r- k0 [6 t<sys/time.h> 时间类型
1 x# k* x, n4 D1 D- v$ e<sys/timeb.h> 附加的日期和时间定义7 q6 {* j. q3 j& Q* m# x
<sys/uio.h> 矢量I/O操作9 f+ _( Y, D4 O4 [1 W8 \) [' T
; S: t$ o# p; S! q2 F8 `* x# r2 n# D0 h" Q: f
------------------------------
3 o0 t' ]) k3 c1 l" z6 W8 N- {! ~ _& _( q$ Z% Y
/ w0 x6 s2 r% w4 A9 f' [& e
POSIX定义的可选头文件! e5 {! n, F" c
}; m& G7 b! g7 ]; q2 {: o
# I5 F! F6 j4 t<aio.h> 异步I/O
5 f9 M. i4 g7 P) l8 N5 k<mqueue.h> 消息队列0 o) [9 c' {: I' i" N8 P" Z* F' t
<pthread.h> 线程
9 Z. i+ c7 D0 \2 L m: n0 x<sched.h> 执行调度
# d- F$ g+ s+ G: z8 w/ m+ ]0 K6 B<semaphore.h> 信号量' w! |6 S' C5 W2 ?% Y
<spawn.h> 实时spawn接口
P, M: ?& ~4 [+ A<stropts.h> XSI STREAMS接口+ Q5 t; j- U7 D: Q% V7 W" p3 |$ H8 D
<trace.h> 事件跟踪3 L- N2 `- P, D4 z
! H- \' K u8 Q8 v9 n1 |- b
( B) g( s5 E" N/ O/ \- ?5 ^3、 C/C++头文件一览; G# ?; a3 V: b1 c
3 [/ z s# j3 M0 z r5 I; F! j/ _7 ^# c' f
C
3 y) P# f+ A2 o& I# @0 O
2 [ ?; G1 r% E) T9 N
: F9 X. Q% I' z+ S5 |3 B* i#include <assert.h> //设定插入点' e, @" r" S9 t" s" K' Q2 ?
#include <ctype.h> //字符处理; I+ i7 ?( Q* m* f$ }
#include <errno.h> //定义错误码( O6 j# c" K. H1 _6 f' k9 ?. K
#include <float.h> //浮点数处理: F' ]+ ?8 f6 m" c% ^
#include <iso646.h> //对应各种运算符的宏
2 p3 o) c$ J# G4 T#include <limits.h> //定义各种数据类型最值的常量2 G& U7 ~3 V8 i6 u
#include <locale.h> //定义本地化C函数
! D% Z6 x) Z; m) @; C+ S#include <math.h> //定义数学函数
$ ^; ]6 p! H8 X9 t#include <setjmp.h> //异常处理支持
, j$ t1 `3 s3 u$ {* x) y* M#include <signal.h> //信号机制支持 S/ }/ q: v8 F1 j
#include <stdarg.h> //不定参数列表支持
$ J/ L5 n' F$ |1 f- r' n! }' U5 r2 T#include <stddef.h> //常用常量
8 D* A( z% S8 o# r1 g I#include <stdio.h> //定义输入/输出函数& s# g- J+ x& w' }
#include <stdlib.h> //定义杂项函数及内存分配函数
; u7 W- }- K6 U! ?#include <string.h> //字符串处理. r* M: A! \; x2 e" x
#include <time.h> //定义关于时间的函数
$ @/ t B1 W" T" D" H#include <wchar.h> //宽字符处理及输入/输出
4 O) {0 ], o9 {. D% U L#include <wctype.h> //宽字符分类. y, m u0 B0 k, k4 S
, a' S/ {: V6 W/ p t# A
. c ^0 m+ i% G9 C1 G传统C++( _5 g; L- m/ P2 O
9 n% A+ {( @% I X4 W( B2 A. E0 I' `7 j8 y* v
#include <fstream.h> //改用<fstream>7 z1 [' e* s w8 O5 `5 Y5 x
#include <iomanip.h> //改用<iomainip>
1 ~3 `* ~8 z6 I" \/ g% U#include <iostream.h> //改用<iostream>3 W8 l- X9 H# }; R; e' B$ O
#include <strstrea.h> //该类不再支持,改用<sstream>中的stringstream' _" h- b# Z' s5 J1 G
4 X4 |5 S4 X5 t; w! H: x& q' T$ d( }$ `- B
————————————————————————————————5 b8 x; v6 ]6 ]7 i: u
/ t* t$ ~( k, P
" `, q+ V3 x& t v6 M
标准C++
* Q! f1 o2 t' M$ L! ~, S- ]0 n) s9 E1 w4 h
- D# b7 y1 j: Y( ^) {% N
#include <algorithm> //STL 通用算法$ h9 m6 v! u1 u$ G' u7 M7 t9 ^
#include <bitset> //STL 位集容器
% ]0 L: K) S9 x9 g/ w" v! `9 B#include <cctype> //字符处理 \! D2 q/ Z/ P* d
#include <cerrno> //定义错误码: N+ @& B7 i1 b4 E) ~; X
#include <cfloat> //浮点数处理1 E: X2 O. Y6 ^) a& D- h
#include <ciso646> //对应各种运算符的宏3 v3 R" |; T8 g! c: y+ d/ n8 M
#include <climits> //定义各种数据类型最值的常量
- ?$ E/ P8 C; h3 E# `' `#include <clocale> //定义本地化函数8 D- `; I9 G7 [( v6 R! c
#include <cmath> //定义数学函数% }" |, i3 c4 X
#include <complex> //复数类
, q$ ^& j7 G# ~* Z9 J#include <csignal> //信号机制支持4 P# i9 m- v- f
#include <csetjmp> //异常处理支持! z: ]% l! B7 w+ x2 q$ f; w8 h
#include <cstdarg> //不定参数列表支持
7 d8 |5 u7 N8 y, Y1 t#include <cstddef> //常用常量
/ u+ a0 m- w/ i7 g+ k5 P: y#include <cstdio> //定义输入/输出函数7 I( k" W1 k- t# Q A
#include <cstdlib> //定义杂项函数及内存分配函数
8 z# [% L2 `6 `( a3 Y' E#include <cstring> //字符串处理- J( y2 C i) p% f: e4 F6 V
#include <ctime> //定义关于时间的函数3 L! G3 a* F% e ~% \
#include <cwchar> //宽字符处理及输入/输出
# n7 ^" g/ G0 |" `; O#include <cwctype> //宽字符分类
6 T2 V8 T: R. X9 D# K5 l#include <deque> //STL 双端队列容器
4 E7 {3 n2 l [! T#include <exception> //异常处理类" J# P* C, N8 N D
#include <fstream> //文件输入/输出
6 e4 t2 n9 K' g) j3 e#include <functional> //STL 定义运算函数(代替运算符)
/ u% H8 N. s8 c2 V#include <limits> //定义各种数据类型最值常量" t( I M7 H, Y# C, \3 M, u' d
#include <list> //STL 线性列表容器
" j/ u! N4 C3 e& Q! ~#include <locale> //本地化特定信息/ X! J; S' q+ `( |, A, y
#include <map> //STL 映射容器
) T l3 u: ?% {" F#include <memory> //STL通过分配器进行的内存分配
4 _0 Z5 S5 Z& x" d# u#include <new> //动态内存分配
9 h* C( F2 N7 }#include <numeric> //STL常用的数字操作& u, s0 G6 i1 s7 }' y8 u1 x; C7 }) n
#include <iomanip> //参数化输入/输出- D3 c4 ~: q, \
#include <ios> //基本输入/输出支持
5 r' p3 Q! v2 g% b( \ G( h7 c#include <iosfwd> //输入/输出系统使用的前置声明
$ e6 q$ r7 q; x, f( G#include <iostream> //数据流输入/输出
5 m8 x- F2 h7 @* F0 [#include <istream> //基本输入流4 q+ _+ L6 i8 A
#include <iterator> //STL迭代器
" M9 Z& D$ M" s#include <ostream> //基本输出流
$ y H3 g# H) ^5 O2 {#include <queue> //STL 队列容器
B. @- ^9 `- X1 f2 h2 @! p#include <set> //STL 集合容器
2 W0 ~$ `' @( T7 M5 \( _2 h; s#include <sstream> //基于字符串的流
/ R2 k8 o$ h J8 ^) p1 `" `#include <stack> //STL 堆栈容器2 _0 Q* G( I9 g6 M% C2 p
#include <stdexcept> //标准异常类
% y" u# y& H( Y) l9 q% v( Q, u. A1 T#include <streambuf> //底层输入/输出支持. Z$ q: s! _, F, ?* F. L( L
#include <string> //字符串类+ s3 t" R" O3 c, t. j$ w
#include <typeinfo> //运行期间类型信息$ M7 L2 \! h( `7 H
#include <utility> //STL 通用模板类
) S+ B# U5 ^9 C- W( H#include <valarray> //对包含值的数组的操作
! \7 R- A2 e- t/ d8 o E7 D#include <vector> //STL 动态数组容器9 X: `+ G$ ]1 ^( v+ t" v0 {2 j
& U) O m( i0 U$ s/ U* i9 K% X
8 g1 {. g$ k$ x! ^3 f! j) S& r2 A" ]( Q: f- W1 b+ \
: M( N. s* Z$ N! \% x( t- k* ?9 v; y4 j
@! f0 P; G5 y) d
4 f; `# |2 R8 x6 B V
& w* v0 `3 d! m, s+ y8 o5 Y, k/ L* a$ V% E" z U/ Z/ D
|
|