2014-10-09 30 views
2

我有一個項目,我得到了幾個Makefiles,也做預編譯器 - 與Pro * C一起工作。他們必須從HP-Unix遷移到Linux系統。 到目前爲止沒有問題,但在某些方面,我無法弄清楚(或仍然沒有找到正確的谷歌關鍵字)gcc調用中的某些選項/標誌正在做什麼。找出給定的gcc Option/Flag正在做什麼?

考慮下面的例子:

FLAGS_C=-Ae -v 
FLAGS_PROC=-g +Z -Ae +M2 

我沒有找到該男子頁關於-Ae+Z +M2什麼,只是稱他們在外殼上向我表明他們的存在 - 但不是他們會做什麼或正在等待。

從make的輸出中我只能看到+ Z或+ M2似乎在等待一個不存在的目錄。

$ gcc +Z 
gcc: +Z: No such file or directory 
gcc: no input files 

輸出隨後是:

<command-line>: error: missing '(' after predicate 

由於一些Makesfiles我還沒有看到我在想,如果有任何好的資源,有可以幫我找出什麼未知選項/標誌是。

gcc (SUSE Linux) 4.3.4 [gcc-4_3-branch revision 152973] 

編輯: 正如其他人mentiond + Z + M2可以definetely沒有gcc的選項。所以也許可能我對gcc + Z調用的解釋只是錯誤的理解。

+0

我的GCC實際上拒絕'+ Z'。什麼是'FLAGS_PROC'傳遞給?你使用的是什麼版本的GCC?編輯了 – 2014-10-09 08:50:05

+0

版本。 FLAGS_PROC被傳遞給oracle proc編譯器。 – Stefan 2014-10-09 08:51:17

回答

2

GCC文檔有一個概覽頁面所有的幾百個選項有:https://gcc.gnu.org/onlinedocs/gcc/Option-Summary.html

  • -Ae可能是與謂詞名e

-A謂語-A預處理程序選項=回答

使用謂詞謂詞和答案答案做出斷言。這種形式比早期的形式-A謂詞(答案)更受歡迎,它仍然被支持,因爲它不使用shell特殊字符。

FLAGS_PROC似乎不是gcc選項。我從來沒有聽說過任何選項,如+ Z或+ M2,我的GCC拒絕他們。

它們可能是HPUX鏈接器選項...?

您沒有說出您正在使用哪個版本的HPUX,這可能是有趣的。 + z/+ Z選項AFAIK僅與HPUX相關,不適用於gcc或binutils。如果 您的gcc採用通常的方式設置,那麼使用gnu作爲,只有HPUX鏈接器使用來自標準HPUX工具集的 。您可以檢查'man ld'以查看這些 選項是否與HPUX ld相關。對不起,我不再受僱於我有 訪問HPUX的地方。

https://groups.google.com/d/msg/gnu.gcc.help/iWt83RMbt-8/rsAQ14_r-jgJ

+0

他們可能是HPUX是的。但代碼現在正從hpux轉移到linux; 無論如何,這可能是我自己犯的一個錯誤? $ gcc + Z gcc:+ Z沒有這樣的文件或目錄 gcc:沒有輸入文件 – Stefan 2014-10-09 08:54:52

+1

我肯定會排除這兩個選項是GCC選項。 – dom0 2014-10-09 08:55:49