Nein, ist nicht notwendig. Dann kannst Du aber auch nicht zur Compile-Zeit linken.
Hier ein Beispiel für die int( char*, char*, char*)-Funktion. Wie der Name des exportierten Symbols lautet, findest Du am einfachsten heraus, indem Du Dir die DLL mit Depends öffnest.
typedef int(CALLBACK *ATPROC)( char*, char*, char* );
HINSTANCE hDllInst = LoadLibrary( "DeineDll.dll" );
if( hDllInst ) {
ATPROC p;
p = (ATPROC ) GetProcAddress( hDllInst , "ExportiertesSymbol");
if( p) {
// Aufruf
(*p)(arg1,arg2,arg3);
}
else {
// Funktion nicht gefunden
}
FreeLibrary( hDllInst );
}
else {
// DLL nicht gefunden
}
[/CODE]