Defining DLL entry points

mavatar acampbellb@hotmail.com
Fri Aug 21 14:54:00 GMT 2009


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?
-- 
View this message in context: http://www.nabble.com/Defining-DLL-entry-points-tp25081386p25081386.html
Sent from the Cygwin list mailing list archive at Nabble.com.


--
Problem reports:       http://cygwin.com/problems.html
FAQ:                   http://cygwin.com/faq/
Documentation:         http://cygwin.com/docs.html
Unsubscribe info:      http://cygwin.com/ml/#unsubscribe-simple



More information about the Cygwin mailing list