如何在函数表中调用函数

时间:2014-11-18 02:50:58

标签: assembly linux-kernel

我想在程序集的函数表中调用一个函数。

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)',我想练习它。

0 个答案:

没有答案