所有内容都在标题中。 由于某些原因,我必须这样做。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