Herzlich Willkommen, lieber Gast!
  Sie befinden sich hier:

  Forum » C / C++ (ANSI-Standard) » extern ”C” __declspec (dllexport) void test(int i); ????

Forum | Hilfe | Team | Links | Impressum | > Suche < | Mitglieder | Registrieren | Einloggen
  Quicklinks: MSDN-Online || STL || clib Reference Grundlagen || Literatur || E-Books || Zubehör || > F.A.Q. < || Downloads   

Autor Thread - Seiten: > 1 <
000
16.11.2004, 11:58 Uhr
Sapphira



Hallo,

ich habe eine DLL geschrieben und habe die Funktionen folgend deklariert:
extern ”C” __declspec (dllexport) void test(int i);
aber was bedeutet das im einzelnen?
Vor allem was bedeutet

- "extern",
- "C",
- "__declspec(dllexport)"

???

Kann mir da jemand helfen?

Danke
Sapphira
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
001
16.11.2004, 13:16 Uhr
(un)wissender
Niveauwart


extern ”C”
-Für C++-Compiler der Hinweise, den Methodenname so zu nehmen wie er ist und nicht zu "mangeln"
-__declspec() ist eine Direktive für den Compiler, ich glaube nur MS; dllexport heißt, das diese Funktion exportiert (in die dll) werden soll.
--
Wer früher stirbt ist länger tot.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
002
16.11.2004, 13:50 Uhr
FloSoft
Medialer Over-Flow
(Administrator)


um das erste noch etwas zu vertiefen:

Der Compiler "generiert" bei C++-Funktionen Namenserweiterungen, z.b aus test() macht er testirgendwas().
Da das aber bei Dll's problematisch sein kann (wenn man z.b manuell die funktionen laden will mit GetProcAddress, usw) dann sagt man es dem Compiler das er die Funktion außerhalb als C-Code behandeln soll (da erweitert/mangled er nix). darum extern "C"

__declspec(dllexport) ist eine Microsoft Visual C++ Anweisung die dem Compiler mitteilt das das eine Funktion zum exportieren ist bzw das er diese exportieren soll. Diese Dinge sind bei den meisten Compilern nicht einheitlich! __declspec funzt eben nur bei MS VC!
--
class God : public ChuckNorris { };
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
Seiten: > 1 <     [ C / C++ (ANSI-Standard) ]  


ThWBoard 2.73 FloSoft-Edition
© by Paul Baecher & Felix Gonschorek (www.thwboard.de)

Anpassungen des Forums
© by Flo-Soft (www.flo-soft.de)

Sie sind Besucher: