更改字符預處理充滿__FILE__
與路徑源文件中定義,即module/src/sourcefile.c
C預處理:在__FILE__
是否有可能在編譯時改變這個字符串轉換成module_src_sourcefile_c
?
更改字符預處理充滿__FILE__
與路徑源文件中定義,即module/src/sourcefile.c
C預處理:在__FILE__
是否有可能在編譯時改變這個字符串轉換成module_src_sourcefile_c
?
根據此:"These macros take no arguments and cannot be redefined."
...對我的徒勞企圖,沒有。
儘管你可以自己設定一個char *
變量,但它仍然遵循你所希望的模式。
還有__FILE__
的替代方法,但它取決於您的編譯器。例如gcc/clang有__BASE_FILE__
。
或者,如果你管理自己的makefile,那麼你可以自己定義,例如,-D___MYOWNFILENAME__=...
爲什麼三而竭,爲什麼? –
它是一個字符串「module/src/sourcefile.c」。 –
在Unix上,最簡單的方法是創建一個符號鏈接('ln -s module/src/sourcefile.c module_src_sourcefile.c'),然後編譯'module_src_sourcefile.c'。這不會在末尾加上下劃線(它會結束'.c'而不是'_c'),但是這不是一個明顯的原因,爲什麼這會成爲一個問題......但是這並不是一個明顯的原因你首先要做的是映射。 –