C++ og ANSI C i samme miljø.

Jeg har flere gange været ude for, at være nødt til at mixe gammel ANSI C kode med C++ kode. Det skaber næsten altid problemer med linkeren, når man kalder en ANSI C funktion fra C++ (og omvendt).

Få at undgå disse problemer, har jeg fundet, at det bedst altid, at tage højde for “blandings miljøet” ved at inddele mine header filer i en ANSI C og en C++ del.

Dette er vist med nedenstående kode snippet.

 

/****************************************************************************************************************************

* ANSI C Types

****************************************************************************************************************************/

#ifdef __cplusplus

extern “C” {

#endif

 

// Your functions declarations + what is ANSI specific here !!!

 

#ifdef __cplusplus

} //end extern “C”

#endif

 

/****************************************************************************************************************************

* C++ Types

****************************************************************************************************************************/

#ifdef __cplusplus

// C++ specific code here

#endif // End __cplusplus

 

Leave a Reply

Your email address will not be published. Required fields are marked *