2010-05-01 126 views
2

我正在檢查一個linux應用程序的代碼,並且在其中一個代碼文件中看到#include。我試圖在opengroup.org上查找它,但是我找不到它,這就是sys目錄的樣子:http://www.opengroup.org/onlinepubs/000095399/basedefs/sys/。我想這不是標準的頭文件,但我檢查了它在我的/ usr/include/sys中,它在那裏。什麼是sys/user.h用於?

它做什麼以及它用於什麼?如果你能爲我提供一些手冊,我將不勝感激。謝謝。

回答

2

在頭頂部的評論非常說明了一切:

#ifndef _SYS_USER_H 
#define _SYS_USER_H  1 

/* The whole purpose of this file is for GDB and GDB only. Don't read 
    too much into it. Don't use it for anything other than GDB unless 
    you know what you are doing. */ 

GNU特定擴展名是通常很容易識別(例如_GNU_SOURCE)。但是,即使這些擴展未打開,調試和檢測也必須工作。例如,人們希望在不是#define _GNU_SOURCE的代碼上使用GDB。

在這種情況下,沒有在ISO C中定義的東西(並且POSIX不需要)通常清楚地標記爲這樣。

您還會在包含Valgrind標題的程序中找到各種奇怪的符號。