在工作中,我們使用GNU CPP作爲自定義語言的預處理器。預處理器下游的流程理解線標記(形式爲# 123 foo-bar.extension
),並將其信息嵌入最終編譯的源代碼中。重載線路標記文件名
這一切都非常好,但整個過程的工作原理是把每件事寫到一個臨時目錄和它的輸入部分(預)預處理遞給CPP之前。此轉換不會更改行號。因此,CPP會調用my-tmp-dir/foo.input-pp
表單的文件,並且該名稱最終嵌入行標記中。我希望能夠欺騙一些東西,以便CPP輸出original/path/foo.original.input
表格的行標記。
CPP是否有任何命令標誌,它可以讓我做到這一點?
你能給一個非常基本的輸入,預期的輸出,你做了什麼讓這個預期輸出的例子,你實際拿到呢? – mikedu95
編寫一個名爲'foo.c'的空文件,並用'gcc -E foo.c'對其進行預處理。你會看到提及'foo.c'的行標記。我想告訴CPP他們應該真的說'bar.c' –