3
是否可以採用靜態對象並重命名符號,使其不會中斷函數調用?鏈接後更改符號名稱
例如,如果我們有一個包含兩個功能的靜態對象:
void A()
{
//Do stuff
}
和
void B()
{
A();
}
假設這些外部聲明C函數則。所以將包含兩個符號 - 甲乙。有沒有辦法重命名A - > funcA和B - > funcB?
(涉及功能問題的第二部分調用相對於基於我天真到鏈接,如果你簡單地改變將函數調用打破名字沒有?)
附:平臺是linux,可能是用gcc編譯的,但是如果有交叉編譯器的話,我會很高興的!
爲什麼你不能在編譯代碼之前將它們重命名爲你想要的? – karlphillip
因爲現實生活中的情況並不像示例那樣乾淨利落 - 我想重新命名庫中的每個符號(以及我編碼的那些符號)。所以這將是很多搜索和替換的地獄。這種搜索和替換最終會混淆我不想要的代碼(但是我希望能夠以我自己的理由以奇怪的方式將它們連接起來)。 – VolatileStorm