[ros-dev] msvcrt/crtdll "merge"
Gunnar Dalsnes
hardon at online.no
Thu Feb 17 00:04:36 CET 2005
>>
>>>And about the strlen=ntdll.strlen stuff. Forwarded functions doesnt show
>>>up as imported because they arent really imported, so this is normal.
>>
>>
>>I think that it is not normal. The better way should be to really forward them, this is just half baked stuff.
>
>
> They are really forwarded. stuff=SOMEDLL.stuff means its forwarded. This
> is standard module-definition (.def) syntax and its nothing half baked
> about it.
>
> Forwarded functions are resolved by the loader thus they are not
> imported by the dll forwarding them.
>
> They are used internally by some other functions inside msvcrt so they must be somewhere
> what is going on now is that internally a stically linked library is used but anything referencing those functions
> from the outside are being redirected to ntdll.
>
> What I mean is: If you are forwarding them, why you don´t import them too instead of the static link?
> If you are statically linking then why forward them?
First: it was not me who added those forwards to ntdll. But it can't see
anything wrong with it either.
It seems none of the forwarded functions are implemented/duplicated in
crt and they are not called from within crt either thus none of the
forwarded routines are imported from ntdll by msvcrt/crtdll.
Gunnar
More information about the Ros-dev
mailing list