With VC++ a class can be exported with the following syntax.
Syntax: class __declspec(dllexport) <class name>;
Example:
class __declspec(dllexport) CExportClass1 { void Function1(void){} };Mechanism: When we put __declspec(dllexport) before any class name, compiler treats this class to be used by external program. Thus it should create an import library. One .lib file will be created after compilation of the module with name as <module name>.lib.
External executable can link this class by including this import library and prototype heared.
Prototype header syntax should be
Syntax: class __declspec(dllimport) <class name>;
Example:
class __declspec(dllimport) CExportClass1 { void Function1(void); };Please note the __declspec(dllexport) keyword has been replaced with __declspec(dllimport).
For this class import, symbols that are exported are like the following
Class CExportClass1, symbol -
??4CExportClass1@@QAEAAV0@ABV0@@Z
Class function Function1, symbol-
?Function1@CExportClass1@@AAEXXZ
About our authors: Team EQA
You have viewed 1 page out of 27. Your DLL learning is 0.00% complete. Login to check your learning progress.
Most popular
Questions index C Questions C++ Questions Win32 MFC COM/DCOM DLL Questions
Compilers & Editors
Download Visual Studio Download XCode Download Visual Studio Code Android studio install sdk Eclipse installer Best C compilers IDEs
Development system setup
Windows media creation tool MSDN subscription Ubuntu virtualbox
New updated posts
Why learn C? Calculate weighted average
Questions index C Questions C++ Questions Win32 MFC COM/DCOM DLL Questions
Compilers & Editors
Download Visual Studio Download XCode Download Visual Studio Code Android studio install sdk Eclipse installer Best C compilers IDEs
Development system setup
Windows media creation tool MSDN subscription Ubuntu virtualbox
New updated posts
Why learn C? Calculate weighted average