■extern
extern "C" /* "C"リンケージ */
C言語とC++では外部シンボルを装飾するために名前付け規約が異なっています。
そのため、extern "C"を記述することによりC++の名前の装飾をやめさせ、他の言語とデータやルーチンと共用させることができます。
#ifdef __cplusplus extern "C" { #endif void Cfunc1(int); void Cfunc2(int); void Cfunc3(int); #ifdef __cplusplus } #endif |
コンパイラが C++モードのときは __cplusplus は1と定義される