Linux中gcc編譯頭文件的位置及頭文件和C/C++的頭文件列表清單

gcc編譯頭文件的位置及頭文件

gcc -Wl,-rpath,/home/arc/test, -rpath,/lib/, -rpath,/usr/lib/, -rpath,/usr/local/lib test.c

動態庫的搜索路徑搜索的先後順序是:

  1. 編譯目標代碼時指定的動態庫搜索路徑;
  2. 環境變量LD_LIBRARY_PATH指定的動態庫搜索路徑;
  3. 配置文件/etc/ld.so.conf中指定的動態庫搜索路徑;
  4. 默認的動態庫搜索路徑/lib;
  5. 默認的動態庫搜索路徑/usr/lib。
在上述1、2、3指定動態庫搜索路徑時,都可指定多個動態庫搜索路徑,其搜索的先後順序是按指定路徑的先後順序搜索的。

Linux的頭文件和C/C++的頭文件

一、Linux常用頭文件如下

POSIX標準定義的頭文件

<dirent.h>    目錄項
<fcntl.h>     文件控制
<fnmatch.h>   文件名匹配類型
<glob.h>     路徑名模式匹配類型
<grp.h>       組文件
<netdb.h>     網絡數據庫操作
<pwd.h>       口令文件
<regex.h>     正則表達式
<tar.h>       TAR歸檔值
<termios.h>   終端I/O
<unistd.h>    符號常量
<utime.h>     文件時間
<wordexp.h>   字符擴展類型

<arpa/inet.h>     INTERNET定義
<net/if.h>       套接字本地接口
<netinet/in.h>    INTERNET地址族
<netinet/tcp.h>   傳輸控制協議定義

<sys/mman.h>      內存管理聲明
<sys/select.h>    Select函數
<sys/socket.h>    套接字藉口
<sys/stat.h>      文件狀態
<sys/times.h>     進程時間
<sys/types.h>     基本系統數據類型
<sys/un.h>        UNIX域套接字定義
<sys/utsname.h>   系統名
<sys/wait.h>      進程控制

POSIX定義的XSI擴展頭文件

<cpio.h>         cpio歸檔值 
<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.h>      IPC(命名管道)
<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/O
<mqueue.h>       消息隊列
<pthread.h>      線程
<sched.h>        執行調度
<semaphore.h>    信號量
<spawn.h>        實時spawn接口
<stropts.h>      XSI STREAMS接口
<trace.h>        事件跟蹤

二、C常用頭文件如下:

#include <assert.h>    //設定插入點
#include <ctype.h>     //字符處理
#include <errno.h>     //定義錯誤碼
#include <float.h>     //浮點數處理
#include <iso646.h>       //對應各種運算符的宏
#include <limits.h>    //定義各種數據類型最值的常量
#include <locale.h>    //定義本地化C函數
#include <math.h>     //定義數學函數
#include <setjmp.h>       //異常處理支持
#include <signal.h>       //信號機制支持
#include <stdarg.h>       //不定參數列表支持
#include <stddef.h>       //常用常量
#include <stdio.h>     //定義輸入/輸出函數
#include <stdlib.h>    //定義雜項函數及內存分配函數
#include <string.h>    //字符串處理
#include <time.h>     //定義關於時間的函數
#include <wchar.h>     //寬字符處理及輸入/輸出
#include <wctype.h>    //寬字符分類

傳統C++

#i nclude <fstream.h>    //改用<fstream>
#i nclude <iomanip.h>    //改用<iomainip>
#i nclude <iostream.h>   //改用<iostream>
#i nclude <strstrea.h>   //該類不再支持,改用<sstream>中的stringstream

三、標準C++常用頭文件如下:

#include <algorithm>    //STL 通用算法
#include <bitset>     //STL 位集容器
#include <cctype>        //字符處理
#include <cerrno>      //定義錯誤碼
#include <cfloat>      //浮點數處理
#include <ciso646>        //對應各種運算符的宏
#include <climits>     //定義各種數據類型最值的常量
#include <clocale>     //定義本地化函數
#include <cmath>      //定義數學函數
#include <complex>     //複數類
#include <csignal>        //信號機制支持
#include <csetjmp>        //異常處理支持
#include <cstdarg>        //不定參數列表支持
#include <cstddef>        //常用常量
#include <cstdio>      //定義輸入/輸出函數
#include <cstdlib>     //定義雜項函數及內存分配函數
#include <cstring>     //字符串處理
#include <ctime>      //定義關於時間的函數
#include <cwchar>      //寬字符處理及輸入/輸出
#include <cwctype>     //寬字符分類
#include <deque>      //STL 雙端隊列容器
#include <exception>    //異常處理類
#include <fstream>      //文件輸入/輸出
#include <al>        //STL 定義運算函數(代替運算符)
#include <limits>      //定義各種數據類型最值常量
#include <list>      //STL 線性列表容器
#include <locale>        //本地化特定信息
#include <map>       //STL 映射容器
#include <memory>        //STL通過分配器進行的內存分配
#include <new>           //動態內存分配
#include <numeric>       //STL常用的數字操作
#include <iomanip>     //參數化輸入/輸出
#include <ios>       //基本輸入/輸出支持
#include <iosfwd>     //輸入/輸出系統使用的前置聲明
#include <iostream>    //數據流輸入/輸出
#include <istream>    //基本輸入流
#include <iterator>      //STL迭代器
#include <ostream>    //基本輸出流
#include <queue>     //STL 隊列容器
#include <set>      //STL 集合容器
#include <sstream>    //基於字符串的流
#include <stack>     //STL 堆棧容器
#include <stdexcept>   //標準異常類
#include <streambuf>   //底層輸入/輸出支持
#include <string>     //字符串類
#include <typeinfo>              //運行期間類型信息
#include <utility>        //STL 通用模板類
#include <valarray>              //對包含值的數組的操作
#include <vector>       //STL 動態數組容器

C99增加的部分

#include <complex.h>   //複數處理
#include <fenv.h>     //浮點環境
#include <inttypes.h>    //整數格式轉換
#include <stdbool.h>     //布爾環境
#include <stdint.h>     //整型環境
#include <tgmath.h>   //通用類型數學宏

標準C函數庫,其最基本的頭文件有15個。每個頭文件都表示出一類特定函數的功能說明或結構定義,例如I/O操作函數、字符處理函數等。有關標準函數庫的詳細說明及其實現可參照Plauger編著的《The Standard C Library》一書

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章