3
我想知道是否有可能在函數中暴露的goto標籤,從符號表中的C/C++暴露轉到標籤符號表
舉例來說,我要讓RET下面的代碼片斷的標籤從符號表中出現,並可以使用標準API(如dlsym())進行引用。
感謝您的幫助提前!
#include <stdio.h>
int main() {
void *ret_p = &&ret;
printf("ret: %p\n", ret_p);
goto *ret_p;
return 1;
ret:
return 0;
}
簡直不可能(你的代碼不是標準的C++和AFAIK,它也不是標準的C - 但你可能知道這一點)。 –
您可以使用內聯asm來添加彙編器希望指示符號的任何代碼。 (順便說一句,&& ret是一個gcc擴展,我認爲,你可能想要添加一個gcc標籤) –
@KonradRudolph是的你是對的Konrad,計算的goto不是標準的一部分。不過,我正在尋找一個適用於gcc(或clang)的解決方案。 – kjee