spec files - syntax and generation
Jerry Jenkins
Jerry_J_Jenkins at hotmail.com
Tue Oct 28 19:41:23 CST 2003
Martin Tröster wrote:
> How do I find out whether a function uses CDECL instead of STDCALL? I found the information (link lost unfortunately) that entries in the def file like testfunc1 at 0 are called via STDCALL, whereas in case of testfunc2 without any @ specifying the space is CDECL. Is this guess right? If not, how else do I find this out?
The most safe one I have known is to disassemble it and look over the
output. If the function have no parameters, you can declare it as either
CDECL or STDCALL.
Suppose it have some parameters and its type is CDECL, you can find:
1. "lret" in the function
2. it will be called in a way like
pushl something1
pushl something2
call address of testfunc1 at 0
addl $8, %%esp
and for a STDCALL, there are:
1. something that is similar to "lret $8" in the function
2. it will be called in a way like
pushl something1
pushl something2
call address of testfunc1 at 0
>
> Thanks again for any help!
>
> Cheers,
> Martin
More information about the wine-devel
mailing list