Robert Bienert: C-header in C++-programm verwenden?

Beitrag lesen

Moin!

ist es möglich ein C-Header in einem C++-Programm zu verwenden, so dass der C-Code des Headers aber mit dem C-Compiler und der Rest mit dem C++-Compiler kompiliert wird? (gcc / g++ unter Linux...)

Um C-Code mit dem C-Compiler zu kompilieren, musst du ihn in eine eigene Datei (keinen Header, sondern .c) auslagern. Wenn du dann allerdings Funktionen oder Variablen des C-Codes in C++ verwenden möchtest, muss das im Header angegeben werden, was man in der Praxis häufig folgendermaßen löst:

#ifdef __cplusplus  
extern "C" {  
#endif  
  
/* Deklarationen */  
  
#ifdef __cplusplus  
}  
#endif

Aber warum willst du den C-Code nicht mit dem C++-Compiler übersetzen, schließlich ist C (bis auf Ausnahmen) auch C++?

Schönes Wochenende,
Robert