當前位置:首頁 » 操作系統 » linux頭文件

linux頭文件

發布時間: 2022-01-10 04:04:18

linux系統調用包含什麼頭文件

一般標準的頭文件路徑為:
/usr/local/include
/usr/lib/gcc-lib/target/version/include
/usr/target/include
/usr/include
通過
gcc
-v
*.c
編譯時具體過程,裡面有頭文件搜索路徑顯示

⑵ linux 下的內核頭文件放在哪裡

linux下的內核頭文件放在/usr/include/linux/和/usr/include/sys/

linux目錄樹:
scripts目錄
該目錄中不包含任何核心代碼,該目錄下存放了用來配置內核的腳本和應用程序源碼
lib目錄
該目錄主要包含兩部分內容:gnuzip解壓縮演算法,用於在系統啟動過程中將壓縮的內核鏡像解壓縮;剩餘的文件用於實現一個C庫的子集,主要包括字元串和內存操作等相關函數。
mm目錄
該目錄包含了體系結構無關的內存管理代碼,包括通用的分頁模型的框架、夥伴演算法的實現和對象緩沖器slab的實現代碼。
include目錄
這個目錄包含了Linux源代碼目錄樹中絕大部分頭文件,每個體系架構都在該目錄下對應一個子目錄,該子目錄中包含了給定體系結構所必需的宏定義和內聯函數。
init目錄
該目錄中存放的是系統核心初始化代碼,內核初始化入口函數start_kernel就是在該目錄中的文件main.c內實現的。
kernel目錄
該目錄中存放的是Linux內核的最核心的代碼,用於實現系統的核心模塊,這些模塊包括:進程管理、進程調度器、中斷處理、系統時鍾管理、同步機制等。
arch目錄
該目錄中的每個子目錄中都與某種體系結構相對應,用於存放體系結構相關代碼,向平台無關的系統核心模塊提供所需的功能介面。每個體系結構對應的子目錄下通常至少包含以下幾個子目錄:kernel子目錄、lib子目錄、mm子目錄、boot子目錄。
系統次核心組件包括:
block目錄:用於實現塊設備的基本框架和塊設備的I/O調度演算法。
usr目錄:該目錄中的代碼為內核尚未完全啟動時執行用戶空間代碼提供了支持
ipc目錄:該目錄中的文件用於實現System V的進程間通信模塊。
driver目錄:用於存放各類設備的驅動程序。
sound目錄:存放了聲音系統架構,如Open Sound System(OSS)、Advanced Linux Sound Architecture(ALSA)的相關代碼和具體音效卡的設備驅動程序。
security目錄:存放了Security-Enhanced Linux(SELinux)安全框架的實現代碼
crypto目錄:該目錄中存放了相關的加密演算法的代碼。
Documentation目錄:存放了與內核相關的文檔。
net和fs目錄:包含linux內核支持的眾多網路協議和文件系統。

⑶ linux下編寫c++,include的那些頭文件在什麼地方

C/C++程序在linux下被編譯和連接時,GCC/G++會查找系統默認的include和link的路徑,以及自己在編譯命令中指定的路徑。

1、#include <stdio.h>,直接到系統指定目錄去查找頭文件。

系統默認路徑為:/usr/include,/usr/local/include,/usr/lib/gcc-lib/i386-Linux/2.95.2/include(gcc庫文件的路徑,各個系統不一致)

2、#include "stidio.h",會先到當前目錄查找頭文件,如果沒找到在到系統指定目錄查找。

3、gcc編譯時查找頭文件,按照以下路徑順序查找:

gcc編譯時,可以設置-I選項以指定頭文件的搜索路徑,如果指定多個路徑,則按照順序依次查找。比如,gcc -I /usr/local/include/node a.c

gcc會查找環境變數C_INCLUDE_PATH,CPLUS_INCLUDE_PATH中指定的路徑。

(3)linux頭文件擴展閱讀:

應用程序代碼編譯過程:

編譯器根據頭文件提供的庫函數介面形式,來編譯代碼,然後生成目標文件;然後,再使用鏈接器將這個目標文件與系統庫鏈接;最終生成應用程序。代碼包含了自己寫的內容,還有系統提供好的現成的庫函數,整個結合起來才形成一個完整的程序。

庫函數的頭文件,在編譯的時候被使用,而庫函數的代碼段(庫文件),在鏈接的時候被使用。

example:

應用程序代碼在使用一個系統調用的時候,例如printf()函數,需要指定包含的頭文件stdio.h;另外,在鏈接的時候對應的鏈接libc.a(筆者電腦文件所在目錄:/usr/lib/i386-linux-gnu/libc.a)。

總結一下,編寫應用程序,需要使用linux系統提供的庫函數。具體實現起來,需要頭文件和庫文件。頭文件是需要我們編寫應用程序的時候,在源文件開頭添加的;而庫文件則需要配置編譯環境進行指定搜索目錄。

⑷ linux 頭文件

你也說了pfm_set_options這個函數,他包含的頭文件里都是.h文件,而pfm_set_options(pfmlib_options_t *opt) 該函數的實現卻在一個c文件中
說明頭文件里的函數都是在相應的c文件中實現的啊
然後將這個實現的函數放在頭文件中,這樣把這個頭文件包含在其他的c文件中,這樣其他的c文件就可以使用這個函數而不怕找不到了

打個比方:你生產了10種游戲(10個函數實現,在.c文件中實現)
然後把這10個游戲的名字寫在一張紙上(紙就是.h文件)
最後你就可以拿這張紙給別人 然後告訴那個人:我有這些玩具你想要哪一個就給你哪一個

⑸ Linux內核頭文件

#include <linux/mole.h>:模塊
#include <linux/kernel.h>:內核
#include <linux/sched.h>:調度器
#include <linux/signal.h>:信號量
#include <linux/errno.h>:裡面定義一些「錯誤」信息
#include <linux/fcntl.h>:file control
#include <linux/spinlock.h>:環行鎖,實現臨界區的互斥訪問

其他的我不是很清楚,你可以去google一下.

⑹ ntohl linux包含哪個頭文件

使用man指令,例如驅動中open函數.
$man 2 open
查看終端輸出,如下圖所示,即為所要包含頭文件 命令的詳細介紹和使用方法請查看「Linux命令大全」。

⑺ linux系統x下的頭文件

版本實現,你不用想了

在LINUX下,寫CList程序,要用ANSI C++寫,這樣才可以在WINDOWS和LINUX下互相移植

這種程序對標准化要求很高,創建工程時,只能用建立空工程手工輸入源代碼才行,對於創建MFC應用程序,是沒有辦法移至到LINUX下的

⑻ 請問linux里頭文件與庫文件有什麼區別

頭文件中有函數的申明,庫文件實現函數的定義。

比如,printf函數。使用時應包括stdio.h,打開stdio.h你只能看到,printf這

個函數的申明,卻看不到printf具體是怎麼實現的,而函數的實現在相應的C庫

中。而庫文件一般是以二進制形式而不是C源文件形式提供給用戶使用的。程序

中包括了stdio.h這個頭文件。鏈接器就能根據頭件中的信息找到printf這個函

數的實現並鏈接進這個程序代碼段里。

總結起來就是,庫文件通過頭文件向外導出介面。用戶通過頭文件找到庫文件中

函數實現的代碼從而把這段代碼鏈接到用戶程序中去。

⑼ linux下,C語言頭文件在哪

一、 C標准庫頭文件,以及Linux的標准庫文件的對應頭文件,默認放在/usr/include下。 如圖:

標識出了最常用的幾個頭文件。

二、 自定義頭文件,或者集成頭文件,需要在編譯的時候指定。可以在命令行中指定,也可以在makefile中指定。

指定自定義頭文件路徑方式為:

-IPATH1 -IPATH2...

如當前目錄下的inc文件夾,指定為頭文件, 那麼在編譯a.c時,可以命令寫作:

gcc a.c -I./inc -o a.out

⑽ linux裡面查看一個可執行文件使用了哪些頭文件

可執行文件里都是機器碼加一些調試信息,看不到頭文件信息的。

你說的生成包含頭文件的列表確實是有,是gcc的選項,『-M』,必須在編譯時給出。比如說你要看temp.c應用了什麼頭文件,可以如下使用:
$ gcc -M -c temp.c
temp.o: temp.c /usr/include/stdio.h /usr/include/features.h \
/usr/include/sys/cdefs.h /usr/include/bits/wordsize.h \
/usr/include/gnu/stubs.h /usr/include/gnu/stubs-32.h \
/usr/lib/gcc/i386-redhat-linux/4.1.1/include/stddef.h \
/usr/include/bits/types.h /usr/include/bits/typesizes.h \
/usr/include/libio.h /usr/include/_G_config.h /usr/include/wchar.h \
/usr/include/bits/wchar.h /usr/include/gconv.h \
/usr/lib/gcc/i386-redhat-linux/4.1.1/include/stdarg.h \
/usr/include/bits/stdio_lim.h /usr/include/bits/sys_errlist.h

它還有幾個子選項,-MM等,可以自己man gcc看看。

熱點內容
行為分析演算法 發布:2024-11-16 17:39:20 瀏覽:511
商道高手安卓哪個服比較好 發布:2024-11-16 17:26:52 瀏覽:359
訪問造句二年級 發布:2024-11-16 17:20:27 瀏覽:886
阿里雲的tcp伺服器ip和埠 發布:2024-11-16 17:12:30 瀏覽:177
php專業培訓 發布:2024-11-16 17:10:07 瀏覽:125
57時間演算法 發布:2024-11-16 17:02:42 瀏覽:510
伺服器日誌怎麼查看是否有爬蟲 發布:2024-11-16 16:36:27 瀏覽:916
醫院上傳懷孕 發布:2024-11-16 16:30:42 瀏覽:899
雲存儲名稱 發布:2024-11-16 16:29:10 瀏覽:590
佛山壓縮機廠 發布:2024-11-16 16:29:01 瀏覽:889