所有內容都在標題中。 由於某些原因,我必須這樣做。GCC呼叫標籤作爲功能
但是當我編譯我的代碼,海灣合作委員會(或氣體也許...)顯示以下錯誤:
... /溫度/ cc1C1fjs.s:19:錯誤:立即數與非法絕對跳轉
代碼:
int main (int argc, char **argv)
{
/* Some code */
((void(*)()) &&label)();
/* Some code */
return 0;
label:
asm ("push %ebp");
asm ("mov %esp,%ebp");
/* Some code */
printf("Hello world");
asm ("leave");
asm("ret");
}
我敢肯定,這應該作品,因爲我試圖創建使用CreateThread函數(我是windows下)specifing爲切入點標籤的地址線,它完美的作品好。 那麼我怎樣才能確保編譯器接受這個語法? 或者有其他方法可以做到這一點?
下一次,用四個空格縮進你的代碼,所以它被視爲代碼。選擇您的代碼並按^ K。 – 2011-03-03 01:59:36
作爲一個學習點,你爲什麼使用一個標籤作爲函數指針? – 2011-03-03 14:01:42