2014-02-23 34 views
0

更改字符預處理充滿__FILE__與路徑源文件中定義,即module/src/sourcefile.cC預處理:在__FILE__

是否有可能在編譯時改變這個字符串轉換成module_src_sourcefile_c

+2

爲什麼三而竭,爲什麼? –

+0

它是一個字符串「module/src/sourcefile.c」。 –

+0

在Unix上,最簡單的方法是創建一個符號鏈接('ln -s module/src/sourcefile.c module_src_sourcefile.c'),然後編譯'module_src_sourcefile.c'。這不會在末尾加上下劃線(它會結束'.c'而不是'_c'),但是這不是一個明顯的原因,爲什麼這會成爲一個問題......但是這並不是一個明顯的原因你首先要做的是映射。 –

回答

1

還有__FILE__的替代方法,但它取決於您的編譯器。例如gcc/clang有__BASE_FILE__

或者,如果你管理自己的makefile,那麼你可以自己定義,例如,-D___MYOWNFILENAME__=...