GCC(MinGW)和WINAPI调用Windows 32位

时间:2014-04-04 11:14:54

标签: windows gcc mingw

当我使用GCC工具(来自MinGW包)组装文件时,从系统DLL调用WINAPI函数的形式如下:

        call label
        ...
        ret
label:  jmp dword [ExitProcess]

而不是:

        call dword [ExitProcess]
        ...
        ret

如何强制GCC直接调用idata节指针而不是生成额外的代码?

1 个答案:

答案 0 :(得分:0)

简单的解决方案:

如果你想(这会抛出一个段错误)

call *_MessageBoxA@16

改为执行此操作

call *__imp__MessageBoxA@16

你会得到一个没有额外无用代码的间接电话。