Vorlesungsskript - Hochschule Emden/Leer
Vorlesungsskript - Hochschule Emden/Leer
Vorlesungsskript - Hochschule Emden/Leer
Sie wollen auch ein ePaper? Erhöhen Sie die Reichweite Ihrer Titel.
YUMPU macht aus Druck-PDFs automatisch weboptimierte ePaper, die Google liebt.
c○ Prof. Dr. B. Bartning, HS <strong>Emden</strong>/<strong>Leer</strong> Rumpfskript ” Informatik I/II“ (WS/SS 2010/11) 101<br />
eine in C ++ kompilierte Funktion in C ++ und entsprechend eine in C kompilierte Funktion<br />
in C aufgerufen werden kann.<br />
In C ++ sieht die Headerdatei folgendermaßen aus:<br />
// C++-Headerdatei<br />
extern "C" DeklarationCCppFunktion<br />
extern "C" {<br />
DeklarationCCppFunktion1..n<br />
}<br />
// Anm.: obigen Block { ... } nennt man Bindungsblock 〈linkage block〉<br />
Die C ++-Programmdatei sieht so aus (normale Funktionsdefinition):<br />
// C++-Programmdatei<br />
#include "C ++-Headerdatei "<br />
DefinitionCppFunktion // wie in C++ üblich<br />
In C ist folgendes zu tun (Headerdatei):<br />
// C-Headerdatei<br />
extern DeklarationCCppFunktion // auch ohne "extern" möglich<br />
// ggf. weitere Male: DeklarationCCppFunktion<br />
Anm Hier unbedingt auf (7.23Anm4) achten, d. h. bei parameterloser Funktion void als Parameter!<br />
Die C-Programmdatei sieht so aus:<br />
// C-Programmdatei<br />
#include "C-Headerdatei "<br />
DefinitionCFunktion // wie in C üblich<br />
Die obigen Zusätze für C ++ sind in oder auch den anderen C-Headerdateien bereits<br />
enthalten.