|
|
EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
3 b+ q7 `5 u' u* {6 j- y+ f+ Q
0 D m- }9 Q7 [8 _0 Q; J% p- Q<assert.h>:ANSI C。提供断言,assert(表达式)
( S3 @' P; j! J<glib.h>:GCC。GTK,GNOME的基础库,提供很多有用的函数,如有数据结构操作函数。使用glib只需要包含<glib.h>& x5 y. N( g6 b+ |) _+ Q
<dirent.h>:GCC。文件夹操作函数。struct dirent,struct DIR,opendir(),closedir(),readdir(),readdir64()等
$ f% T- l/ u, r0 p: `7 s4 b) D<ctype.h>:ANSI C。字符测试函数。isdigit(),islower()等- B) R0 m6 `6 ~* L
<errno.h>:ANSI C。查看错误代码errno是调试程序的一个重要方法。当linuc C api函数发生异常时,一般会将errno变量(需include errno.h)赋一个整数值,不同的值表示不同的含义,可以通过查看该值推测出错的原因。在实际编程中用这一招解决了不少原本看来莫名其妙的问题。比较 麻烦的是每次都要去linux源代码里面查找错误代码的含义,现在把它贴出来,以后需要查时就来这里看了。来自linux 2.4.20-18的内核代码中的/usr/include/asm/errno.h
) F. e C9 C. [; g2 `$ I- L<getopt.h>:处理命令行参数。getopt()3 L) M' `0 z' T
( c: u; u6 f9 o+ i) U8 S! L-------------------------
7 z) y9 f! J' C5 n4 L! b
7 g) x; d& T( t6 R6 d9 z- w5 r
& C6 q7 Z/ C5 }& M) H. B/ Plinux常用头文件如下:( i3 d3 J& L& u; Q
! e8 A$ k; Q# B
$ W/ L/ U3 z. s5 \0 aPOSIX标准定义的头文件
4 J; w3 a/ p4 M* M: K3 r1 e$ E( Q8 S% F8 `' P0 o, T. V; o
4 \* }+ \ C8 I, q<dirent.h> 目录项
1 L" T) }. n1 e" b<fcntl.h> 文件控制7 B6 L) J5 l. r% h+ g
<fnmatch.h> 文件名匹配类型
! m7 T" a- Y; I& I/ H* [: r5 y# G<glob.h> 路径名模式匹配类型
. q/ h7 ^. L3 S" R<grp.h> 组文件
& G$ ~8 r% E% y- G2 Q, E<netdb.h> 网络数据库操作 f* D* X4 X" R% X9 w1 O
<pwd.h> 口令文件
, o: V) g! _. p5 b) A$ C( d- H3 H$ k<regex.h> 正则表达式
* N' L8 S% h2 @/ m4 e; Q<tar.h> TAR归档值1 K" _8 n7 A' B
<termios.h> 终端I/O7 d4 E B E4 Q$ l. F6 v0 V
<unistd.h> 符号常量; K3 ]$ T# y! \1 ?/ ?8 u
<utime.h> 文件时间
' N2 N! o% [, a; y1 p8 G<wordexp.h> 字符扩展类型5 O7 A9 D( X1 g$ p6 |' t
2 r( J! Q5 ?; q. @/ {! P) v1 A
-------------------------$ }) \/ O6 T6 I2 h: Y7 r. O7 k0 i& ^
1 x; q. h4 a, U4 }3 j* r8 c# C: U8 e& d6 _
<arpa/inet.h> INTERNET定义 J& y/ u6 ^* d& x
<net/if.h> 套接字本地接口
+ O/ e) ?* @$ n' J8 N<netinet/in.h> INTERNET地址族
6 G( p& d$ n2 a. |8 n& c0 [<netinet/tcp.h> 传输控制协议定义
3 t4 S# }0 u: [4 o1 O _/ h- Y; `7 M+ a
3 f! v& p* |% f
------------------------- / f) O1 q: I. G4 `8 f
7 r5 e. s" g7 Q- A- i
4 s! `& O$ r+ D<sys/mman.h> 内存管理声明
+ d1 j* F! `0 }+ E: s8 c/ @( f<sys/select.h> Select函数
3 d2 q# [9 @2 X3 C* R8 |& l1 a<sys/socket.h> 套接字借口2 k- \( S- M3 u/ F
<sys/stat.h> 文件状态
% A( x8 ?! E7 v* W<sys/times.h> 进程时间
" B; K4 r; _6 s0 w% e% O/ q% g<sys/types.h> 基本系统数据类型
5 \9 \% M/ J8 F3 e<sys/un.h> UNIX域套接字定义" S) v5 [# l7 t& {! I+ I+ `
<sys/utsname.h> 系统名0 P, Q+ W8 B( P9 Z* P; S" V
<sys/wait.h> 进程控制
' n+ A( i2 ~9 N# h, W# I2 Y L; @5 ]& O
6 w+ j( S! G" G! W% j
------------------------------
1 X, P3 I- } H& T8 A- c
$ ^. b; G. Q% b# Z
4 N1 s9 l$ A& B, N \2 V9 D6 BPOSIX定义的XSI扩展头文件
. x8 v# W! W, Q6 v4 l5 P
) ^! S. ]( M5 R0 H8 f, V% X& _
<cpio.h> cpio归档值
1 ?: f: e% x A( M2 l<dlfcn.h> 动态链接
9 r; X/ W; a. F" b% ]<fmtmsg.h> 消息显示结构9 T* m% \0 \' }) Y# G1 A' b; C2 A
<ftw.h> 文件树漫游
% E! }3 R! ?2 w/ ^$ b" [6 {<iconv.h> 代码集转换使用程序
: D8 u- U+ s$ y! J# ?. M7 T<langinfo.h> 语言信息常量
* G8 z% l8 \/ I7 E<libgen.h> 模式匹配函数定义
# N" K- |* r% Y4 n1 ~! @9 ^<monetary.h> 货币类型
+ A. V# f1 ^6 i) K5 D<ndbm.h> 数据库操作
# I. x0 V5 N4 O8 f! o<nl_types.h> 消息类别
4 F" t8 Y5 n8 x, m6 c<poll.h> 轮询函数
' ]9 Q6 W; e) v( w! O<search.h> 搜索表 e& p: U& b* b3 r7 ~# h
<strings.h> 字符串操作
# j) M: W0 D. A<syslog.h> 系统出错日志记录 Q6 ?+ i4 l" o- k- M$ Y
<ucontext.h> 用户上下文- K- r) i1 ~9 z" L- }* h4 G% d
<ulimit.h> 用户限制0 I+ W0 B/ Q' u
<utmpx.h> 用户帐户数据库
( o6 F; Q" g. `, w/ v$ T" W4 R1 u, l) u- U! F: q0 b5 r
5 j( v+ Q p) ~$ ~9 C( N-----------------------------
4 F; G6 }( m6 F+ W& z
+ w$ x# t) X0 e9 E3 {8 V2 Z6 N' E9 z* A/ b
<sys/ipc.h> IPC(命名管道), J! r2 g1 Y0 }8 D. S$ `
<sys/msg.h> 消息队列3 m; X& g! e9 _ S1 Q# W
<sys/resource.h>资源操作3 _8 j( t1 B/ Z2 ?0 @
<sys/sem.h> 信号量
H! {8 B, Q+ N/ W1 a. j<sys/shm.h> 共享存储# ]% u7 J: r, m8 O' i0 H0 u/ g
<sys/statvfs.h> 文件系统信息0 m3 R/ |) @7 b
<sys/time.h> 时间类型
6 t, P" ^% i/ s/ d( A<sys/timeb.h> 附加的日期和时间定义) s* r4 n; g0 ~$ T+ C
<sys/uio.h> 矢量I/O操作
7 @: _+ y1 J. u+ U, g, y" q1 [: f) Z- B- o& M" B+ r6 o$ F$ x1 Y
, e8 v. l6 P5 [/ s( r
------------------------------
7 S/ ~7 }9 T/ I$ N! c
/ z. V4 G- z5 S+ J) J2 K' D# C$ O& a0 `$ U( P
POSIX定义的可选头文件
0 C* o" Y) F" u5 L$ L x ~% p7 b# e# D2 r& l0 `
1 o3 v! n B4 {<aio.h> 异步I/O
- N2 S( C/ [! J<mqueue.h> 消息队列
" @( K7 p( z# `* C5 k- p! O3 n<pthread.h> 线程
! J3 F7 ?# p; w: k- q- {<sched.h> 执行调度
1 ^" I3 D, t: U3 A M<semaphore.h> 信号量* j) i, j# O4 V. h
<spawn.h> 实时spawn接口* \, K. x0 o8 ]: y! O
<stropts.h> XSI STREAMS接口
$ K, S. d8 Z$ D3 Z% f7 s. X<trace.h> 事件跟踪
S* I6 @& b; d& W4 D# S8 N5 ?% @: A* k3 r* m" ]- C) H
- @$ I9 K* g% Z% @
3、 C/C++头文件一览) ?: k+ t, _/ s$ E5 \) \. a+ n, M
% V1 S! i2 K ?+ Z
' H* o7 O9 R! w8 q3 n4 j3 b* n/ tC
k# ], n2 S$ E( a W5 p/ c/ o- c& x
' M; y0 f; F' r x; Y#include <assert.h> //设定插入点/ e9 \8 c) x! |1 @, M+ Z8 \+ t# e
#include <ctype.h> //字符处理: i: u0 j" N$ p8 V
#include <errno.h> //定义错误码" ~' U: x; w1 m# R' T. Y
#include <float.h> //浮点数处理
& e5 I! y1 Y/ J/ T#include <iso646.h> //对应各种运算符的宏/ T; ~/ o6 u- e$ F* l( n' d
#include <limits.h> //定义各种数据类型最值的常量3 z$ b+ A1 `- b8 p* \
#include <locale.h> //定义本地化C函数
3 I1 m h) l9 N8 R" M6 Y+ R#include <math.h> //定义数学函数& o @; U* E5 e+ a, m+ {* r
#include <setjmp.h> //异常处理支持2 F: @' J6 v: t, Z* C; W
#include <signal.h> //信号机制支持
% d' f( p) L- z- E* G4 O: j8 V#include <stdarg.h> //不定参数列表支持
( n8 D6 Y5 \* v/ E#include <stddef.h> //常用常量
' N" E8 R- B' f% ]2 `6 j#include <stdio.h> //定义输入/输出函数
- b% x% p4 B; U8 d- c5 e! J3 W) F2 L#include <stdlib.h> //定义杂项函数及内存分配函数
; _5 Z3 R$ ~# R+ Y#include <string.h> //字符串处理4 d! z1 j. s" _1 S
#include <time.h> //定义关于时间的函数
1 G, j4 c9 ?8 ]0 l2 |, I( S#include <wchar.h> //宽字符处理及输入/输出6 e r* V3 q8 y8 p4 a. J/ ]; G8 w
#include <wctype.h> //宽字符分类
2 ~8 d) B0 g2 F0 R3 x# w1 g: {" u) ~3 u" X# C
- } L" _8 m- } V A7 Q
传统C++
! O6 V) K# F% y* U1 }! I& z8 j# Y2 o; f; [
# i1 A* D) w- }; J- z# w
#include <fstream.h> //改用<fstream>7 V. e/ I( C! Y2 x$ j; E) O
#include <iomanip.h> //改用<iomainip>) G; f+ F. M6 l9 G
#include <iostream.h> //改用<iostream>; e) V. L: O% d0 u, ?
#include <strstrea.h> //该类不再支持,改用<sstream>中的stringstream5 }4 [- v/ {/ [' u, T
" w H/ N S9 z8 O+ b
1 i; @. \2 {" W8 Y) D% D' Y————————————————————————————————2 r) L. H8 Z. n: b! `
% U2 E b+ H! G) F7 N
+ G/ J5 b+ W- o4 i/ L6 i8 B0 ^2 x! Q
标准C++ . r7 V4 K0 O. c
# s: N! F& z; q$ @7 N& s9 L
/ v$ B- O- X6 \% h, V2 m, F) f/ s( I7 U#include <algorithm> //STL 通用算法
! v2 Z$ X) Q$ o) O( a2 x7 h#include <bitset> //STL 位集容器; I) q. U% Y* {! D3 r
#include <cctype> //字符处理
4 B Q( F$ e3 z; k8 D& x#include <cerrno> //定义错误码: H* ~7 e* U- F! v8 Z
#include <cfloat> //浮点数处理2 k; j4 Q; k( Q( y
#include <ciso646> //对应各种运算符的宏, g; ]' [! K4 D0 ?! C2 F
#include <climits> //定义各种数据类型最值的常量+ [5 m" T! \0 W( h" M5 q4 ]
#include <clocale> //定义本地化函数
- ~: T' E" f4 Q& r& V6 n: C#include <cmath> //定义数学函数
: Y/ ^& P$ _- b9 P! }4 N1 t& H#include <complex> //复数类
6 {6 n, p& X/ _8 o#include <csignal> //信号机制支持
) m s4 b% W5 _% `( o, g0 G% \#include <csetjmp> //异常处理支持: K/ `9 v% q' ?# `, F
#include <cstdarg> //不定参数列表支持
8 V: W1 n( \9 @! k! H' C#include <cstddef> //常用常量5 Z5 t* z, `3 _( H: F* u4 ]9 m
#include <cstdio> //定义输入/输出函数
+ H D1 S9 z1 |, Z6 X$ h0 K#include <cstdlib> //定义杂项函数及内存分配函数# l6 I" m% n% I6 i9 y3 R
#include <cstring> //字符串处理5 {$ b# w; S7 r! n2 d, K: r9 t. T
#include <ctime> //定义关于时间的函数
3 ^; }0 @; E4 `0 ^3 v#include <cwchar> //宽字符处理及输入/输出
: s% B' a/ p4 x1 }1 A#include <cwctype> //宽字符分类! x; L2 P( l3 Q2 @1 c0 e
#include <deque> //STL 双端队列容器' P, Y9 p g! j# f9 |7 o
#include <exception> //异常处理类
; G B) a) z9 G5 c#include <fstream> //文件输入/输出* N( |! @ {3 o4 U2 I8 N
#include <functional> //STL 定义运算函数(代替运算符)
$ W) x! r D9 |3 Q$ \3 j& x/ i1 B& I#include <limits> //定义各种数据类型最值常量0 Q4 S5 q$ M& w" N7 R& D8 z. u
#include <list> //STL 线性列表容器
: R% b; }! y$ U! M, Z. P#include <locale> //本地化特定信息! U/ D' W$ [4 U8 _9 Y0 S
#include <map> //STL 映射容器& i2 R# X/ k! E! Y
#include <memory> //STL通过分配器进行的内存分配# }$ i+ B% S% h3 [& [* S* q
#include <new> //动态内存分配
6 Z! L D N7 H9 e#include <numeric> //STL常用的数字操作8 C& J3 G" t2 F) e' e* A
#include <iomanip> //参数化输入/输出. H' N- G5 f0 q6 S/ a( e. Y
#include <ios> //基本输入/输出支持6 |/ F4 z9 t$ F: k" H% j! c( ^2 X: J
#include <iosfwd> //输入/输出系统使用的前置声明
; S: D3 F' [2 E& Q" ?& L1 u( N$ x#include <iostream> //数据流输入/输出! D. l# O/ g. }9 T7 h0 L4 i8 P
#include <istream> //基本输入流9 |% c- l5 V+ I8 Y5 e( o
#include <iterator> //STL迭代器2 O2 J' A& g) _
#include <ostream> //基本输出流* @2 o* G8 b+ y8 _
#include <queue> //STL 队列容器
* |- R: p2 m4 Q5 C4 ]! h( K#include <set> //STL 集合容器
; T1 k7 d1 r3 J* j#include <sstream> //基于字符串的流
% B; V; D/ F: b8 z#include <stack> //STL 堆栈容器
* z5 z y7 v" ]' P" v; N; O#include <stdexcept> //标准异常类
: c8 y$ P) V# J- F5 ]#include <streambuf> //底层输入/输出支持
/ O; u5 R: H# K# V4 S5 r4 a5 e#include <string> //字符串类8 @' d2 n( J) R4 y
#include <typeinfo> //运行期间类型信息' Z6 T5 P2 ~+ D3 n5 `" `2 k
#include <utility> //STL 通用模板类
% M" a4 V$ ?$ _; T) x6 N8 H, j#include <valarray> //对包含值的数组的操作
6 ]& K1 \+ C, S, H5 `6 L#include <vector> //STL 动态数组容器
Z3 ^ c9 J( I: C$ f
; d. n l2 f; v, N: \+ q2 N/ f% |: E9 D. I% N" c
( [5 l& K, e$ g3 ^% g, X
& o) z1 T$ Y# T5 x/ D* n
( b" B8 J' ]3 { u8 g v/ F( E% S' y' D D& G6 G
N0 y5 T9 `9 b$ P) M
8 L1 Q; }: M+ w/ U; b |
|