https://isocpp.org/wiki/faq/mixing-c-and-cppが正しくない場合、extern "C"
は、C++プログラムでC関数を呼び出すか、CプログラムでC++関数を呼び出すために使用されます。CプログラムでC++コードを呼び出すときに `extern" C "`は何をしますか?
C++プログラムでC関数を呼び出すために使用すると、C++コンパイラがextern "C"
と宣言されたC関数の名前を変更することができなくなります。
CプログラムでC++関数を呼び出すために使用されるときはどうなりますか? また、CコンパイラがC++関数の名前を変更するのを防ぐのですか?
ありがとうございました。あなたがC と C++から呼び出し可能なように機能させる必要がある場合
さらに疑問がある場合は、前の質問の回答にコメントを使用して質問してください。ターゲットの移動を避け、既存の回答とスムーズに同期させます。 –
これは別の方法です。 'extern" C "は、C++コンパイラがC言語で使用される(つまり、宣言され呼び出される)関数のマングル付きシンボルを生成するのを防ぎます。 –
[C++ソースでは、 extern "C"?](http://stackoverflow.com/questions/1041866/in-c-source-what-is-the-effect-of-extern-c) - 私の民間伝承では "C"もリンクされていますAPIだけでなくABIを修正することもありますが、たぶんそれは話です;-) – Dilettant