如何更改 gcc 调用约定

问题描述

嗨,我想告诉gcc如何调用函数,例如:

    __mycall void my_function(arg1) {
        do_something(arg1)
    }
    __mycall:
        move $a0,(the first argument)
        jalr (the function we should call)
        nop

我想要生成的汇编代码:


    my_function(1);

成为


    move $a0,1
    jalr my_function
    nop

我显然不想实现 stdcall 或 fastcall 或类似的东西,我只是通过一个例子来解释。

我认为这样做应该不难,但我没有找到任何关于如何做到这一点的例子 我可以编写内联汇编并使用内联汇编调用我的函数,但它很难看,我将不胜感激 (:

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

相关问答

错误1:Request method ‘DELETE‘ not supported 错误还原:...
错误1:启动docker镜像时报错:Error response from daemon:...
错误1:private field ‘xxx‘ is never assigned 按Alt...
报错如下,通过源不能下载,最后警告pip需升级版本 Requirem...