我在項目中有很多「笨」#define
,我想刪除它們。不幸的是,我不能做一個簡單的搜索和替換,因爲#define
被參數化。例如:有沒有辦法'擴展'#define指令?
#define FHEADGRP(x) bool _process_grp##x(grp_id_t , unsigned char)
這是用來生成幾個函數的標題。我想以某種方式執行與預處理器相同的操作 - 根據其結果替換宏的每個調用(插入正確的參數)。我希望你明白我想做什麼。
我發現使用Visual Studio ,可以使用/ P選項獲得預處理的中間文件,但不幸的是,這並不能幫助我,因爲文件被數千行其他行「污染」,並且所有的#define都被擴展了,我不想這樣做,我只是想擴展一些宏,最好是在我的IDE(這是Visual Studio)中做到這一點。有沒有辦法如何實現這一點?
謝謝!我真的沒有足夠的探索這個功能。謝謝,這比寫我自己的Perl腳本要好得多! – PeterK 2010-06-21 12:15:02