2011-12-15 102 views
1

值比方說,一個文件被編譯並在運行模式下,它是使用一些macro.Is沒有什麼辦法來檢查是否正在使用的文件的宏什麼價值。檢查的宏

例如,如果文件中包含

-define(TIMEOUT,200). 

從終端我怎麼能檢查正在使用的TIMEOUT定義在文件中。

爲什麼我想是因爲假設文件在運行模式和我之間改變宏定義,忘了編譯文件。我想確認它正在採取什麼定義。作爲預處理源立即替換他們

回答

5

宏沒有生存甚至編譯的最早階段。你必須定義並導出一個獨立的功能,看他們的價值觀,是這樣的:

macro_values() -> 
    [{'TIMEOUT',?TIMEOUT},...]. 

然後,您可以從shell中調用這個和獲取被取代的價值。