[Date Prev][Date Next][Thread Prev][Thread Next]
[Date Index]
[Thread Index]
- Subject: Re: How to avoid DLL hell?
- From: Axel Kittenberger <axkibe@...>
- Date: Fri, 26 Nov 2010 15:45:28 +0100
The think is, FILE* pointers are passed across libraries.
Like posix.fileno, accessing a FILE* created by io.open.
On Fri, Nov 26, 2010 at 3:30 PM, GrayFace <sergroj@mail.ru> wrote:
> On 26.11.2010 16:54, steve donovan wrote:
>>
>> But, if it calls any C runtime functions, then that runtime's
>> allocator may kick in, and you are back where you started.
>>
>> Most C extensions take the lazy way out and just use malloc (or
>> strdup, etc) - naturally they wish to remain portable!
>
> If pointers returned by malloc aren't freed by other dlls and things like
> FILE* aren't passed across dll borders, nothing wrong may happen as far as I
> understand. If a dll does pass such stuff around, it won't be usable from
> any language other than C/C++ and would cause all the mentioned problems
> with runtime dlls when used from C/C++. So, in my opinion it's definitely a
> bug, but I'm not a C guy. Personally I prefer to link CRT statically.
>
> Thanks for the link.
>
> --
> Best regards,
> Sergey Rozhenko mailto:sergroj@mail.ru
>
>
>
>
- References:
- How to avoid DLL hell?, Nick Gammon
- Re: How to avoid DLL hell?, David Manura
- Re: How to avoid DLL hell?, Nick Gammon
- Re: How to avoid DLL hell?, Axel Kittenberger
- Re: How to avoid DLL hell?, Nick Gammon
- Re: How to avoid DLL hell?, steve donovan
- Re: How to avoid DLL hell?, Enrico Colombini
- Re: How to avoid DLL hell?, GrayFace
- Re: How to avoid DLL hell?, steve donovan
- Re: How to avoid DLL hell?, GrayFace