Changes to Module Definition Files(.DEF)
A typical .def
file looked like the following example prior to Visual Studio 2005:
LIBRARY update1
EXPORTS
LibDescription @1
LibNumberClasses @2
LibClassDesc @3
LibVersion @4
SECTIONS
.data READ WRITE
With Visual Studio 2005, we now have the following code. The numbers in parentheses point to the footnotes below:
LIBRARY update1.dlo(1)
EXPORTS
LibDescription @1
PRIVATE (2)
LibNumberClasses @2
PRIVATE
LibClassDesc @3
PRIVATE
LibVersion @4
PRIVATE
LibInitialize @6
PRIVATE (3)
LibShutdown @7
PRIVATE SECTIONS
.data READ WRITE
Notes:
- If the extension is not given, the linker assumes .DLL as the extension. Because, it does not match the actual output filename, a warning appears.
PRIVATE
will export the function from the DLL, but will not include the function prototype in the import library.- We have generally used 6 and 7 for the ordinal number on the two new functions, but this is not enforced and your plug-in will work if you use a different number.