2014-03-03 22 views
5

我發現一個帶有Makefile的源文件包,我經歷了它,並且在CFLAG變量中,有一個FLAG -I,我在網上搜索到了,但是不能找到它實際上做了什麼。這與C文件中包含的庫文件有關嗎? (stdio.h,unistd.h,pthread.h)-I在GCC(Linux)中的標記

請給我一個資料來源或簡要解釋,標誌-I做了什麼?

-Regards

+0

它指示編譯器將標誌'-I'的參數添加到包含文件搜索路徑。在Unix/Linux世界中,當需要查找'gcc'的命令行標誌時,通常從'man gcc'開始。谷歌不是正確的工具。 – bobah

回答

2

這是正確的,在中gcc手冊頁(調用man gcc在Unix/Linux or you can find it via Google):

-IDIR

添加目錄dir到要搜索頭文件的目錄列表。在標準系統包含目錄之前搜索由-I命名的目錄。如果目錄目錄是一個標準系統包含目錄,則忽略該選項以確保系統目錄的默認搜索順序和系統頭文件的特殊處理不會失敗。如果dir以「=」開頭,則「=」將被sysroot前綴替換;請參閱--sysroot-isysroothttp://gcc.gnu.org/onlinedocs/爲4.8.2版本的選項,作爲一個例子,可以在這裏找到:

另外還有gcc的在線文檔(確切的文本和語義可能的gcc版本之間的差異): http://gcc.gnu.org/onlinedocs/gcc-4.8.2/gcc/Directory-Options.html#Directory-Options

+0

謝謝,我明白了。你能告訴我,我們怎麼能用'人'來搜索這個國旗?我的意思是,我嘗試過'我 - 我','我',但沒有幫助。 – Fawzan

+1

@Fawzan這是'man gcc'和一個長手冊將打開,在那裏列出所有選項。而不是'gcc',你也可以將其用於大多數其他命令。 – Nabla

+0

很酷,我用過了。是的,我有一個長頁。可能是我們可以使用grep或其他東西來搜索手冊頁。 :) – Fawzan