我想在程序集的函数表中调用一个函数。
void prt(){}
typedef void (*fun)();
fun myfun[] = {prt};
然后我将prt称为以下内容:
int main() {
__asm__(
"movl 0, %eax\n\t"
"call *myfun(, %eax, 4)"
);
return 0;
}
但是当我运行它时,我得到'分段错误'。那么我应该如何在函数表中调用prt。 我在linux内核中得到了这个 - 'call _sys_call_table(,%eax,4)',我想练习它。