Eclipse/MinGW/GCC DLL entry points

Ian Lance Taylor iant@google.com
Fri Aug 21 19:37:00 GMT 2009


mavatar <acampbellb@hotmail.com> writes:

> I am trying to port a DLL project from MSVC to Eclipse/MinGW. I was able to
> build the DLL with Eclipse/MinGW and the resulting shared library was much
> larger than the same library built with MSVC. I found a "MinGW C Linker"
> option in project properties to "Omit all symbol information (-s)" after
> setting this option the DLL file size reduce by almost 200KB, but it still
> was >100KB bigger then the MSVC version. 
>
> After inspecting the DLL with the MS "Dependency Walker" utility I noticed
> that the DLL produced by MinGW has entry points defined for every function
> in the DLL, including those that don't have the following descriptor before
> them. 
>
> #define MY_API __declspec(dllexport) 
>
> I would expect that ONLY function that have MY_API before them would be
> defined as an entry point, but this is not the case all function are defined
> as entry points. How is this possible? 
>
> As a side note I do not provide a *.DEF file to the linker. I tried this and
> it did not seem to make a difference. 
>
> Any ideas?

I don't know the answer to this question.  I do know that this is not an
issue with gcc proper.  You are much more likely to get an answer if you
ask on the cygwin@cygwin.com mailing list (because this is Windows
related) or the binutils@sourceware.org mailing list (because this is
linker related).

Ian



More information about the Gcc-help mailing list