・C++からCの関数を呼び出す方法
http://www.geocities.jp/ky_webid/cpp/language/038.html
C言語
オーバーロードがないため同じ名前の関数はひとつしかできない
void function();
C++言語
同じ名前の関数をオーバーロードできる
void function();
void function( int a );
・C++ではコンパイル時に自動的に違う関数名にされるため、C++からCの関数は呼び出せない。
-----------------------------------
↓
-----------------------------------
・externで囲むとC++から呼び出せるようになる。
extern "C" void function();
extern "C" {
void function1();
void function2();
void function3();
}
-----------------------------------
↓
-----------------------------------
・Cではexternは定義されていないのでCとして使う場合はexternを付けてはいけない。
#ifdef __cplusplus
extern "C" {
#endif
void function1();
void function2();
void function3();
#ifdef __cplusplus
}
#endif
最終更新:2008年11月25日 15:42