07.10.2013 Aufrufe

Vorlesungsskript - Hochschule Emden/Leer

Vorlesungsskript - Hochschule Emden/Leer

Vorlesungsskript - Hochschule Emden/Leer

MEHR ANZEIGEN
WENIGER ANZEIGEN

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.

Hurra! Ihre Datei wurde hochgeladen und ist bereit für die Veröffentlichung.

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!