This is the mail archive of the cygwin mailing list for the Cygwin project.

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Defining DLL entry points

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

#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?
View this message in context:
Sent from the Cygwin list mailing list archive at

Problem reports:
Unsubscribe info:

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]