C-header in C++-programm verwenden?
t0bi
- programmiertechnik
0 Robert Bienert0 t0bi
Hi,
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...)
Danke und LG
t0bi
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
Danke, werde das mal versuchen.
Aber warum willst du den C-Code nicht mit dem C++-Compiler übersetzen, schließlich ist C (bis auf Ausnahmen) auch C++?
Ganz einfach: weil der C++-Compiler das c-File nicht kompiliert
sondern einen Kompilier-Fehler liefert und ich den C-Code des
Files nicht genügend verstehe um ihn anzupassen, bzw. mein
Versuch das File anzupassen nicht zum Erfolg geführt hat... :)
Danke nochmal & LG
t0bi