"Walter Bright" <newshou...@digitalmars.com> wrote in message 
news:l6c7gt$27fc$1...@digitalmars.com...
>>
>> Right, I was saying the indirection still exists.
>>
>>
>
> No, not really, at least not on Windows. Try calling a function in the 
> Windows API and disassemble it. You'll see a direct call.

You sure about that?

src:

import core.sys.windows.windows;

void main()
{
    auto x = GetModuleHandleA(null);
}

obj:

__Dmain PROC NEAR
;  COMDEF __Dmain
        push    0                                       ; 0000 _ 6A, 00
        call    dword ptr [__imp__GetModuleHandleA@4]   ; 0002 _ FF. 15, 
00000000(segrel)
        xor     eax, eax                                  ; 0008 _ 31. C0
        ret                                             ; 000A _ C3
__Dmain ENDP


exe:

?_0072  LABEL NEAR
        push    0                                       ; 00402010 _ 6A, 00
        call    dword ptr [?_0067]                      ; 00402012 _ FF. 15, 
00401794(d)
        xor     eax, eax                                ; 00402018 _ 31. C0
        ret                                             ; 0040201A _ C3


Reply via email to