- dll dll, , . DLL LoadLibrary dll .
: dll ++, : ++ , ++ "" ++ ( GetProcAddress) .
, dim , .
, , dll :
Shim1:
dll defintion, dll, :
class __decldpec(dllexport) CCPCompressor {
...
Depends , Undname.exe Visual Studio.
LoadLibrary(), shimdll2.dll, dll. GetProcAddress() , shimdll2.dll
Shim2:
dll dim dll, . DLL dll :
class __declspec(dllimport) CCPCompressor {
...
dll, dll, .
shim2.dll, shim1.dll , CCPCompressor.
NB. : CCPCompressor , , , , DLL-, ( ).
:
Visual Studio 20XX "" > "" > "Visual Studio 20XX → ".
c:\...\VC>undname ?Clear@CCPCompressor@@QAEHXZ
Microsoft (R) C++ Name Undecorator
Undecoration of :- "?Clear@CCPCompressor@@QAEHXZ"
is :- "public: int __thiscall CCPCompressor:Clear(void)"
c:\...\VC>_
, dll (undname - , ), , def.