extern "C"
次のように、ファイルの先頭で使用している C++ のコードがいくつかあります。
#ifdef __cplusplus
extern "C" {}
#endif
これは何を意味するのでしょうか?それはどのように機能しますか?
これは、中括弧内で定義された関数のC++名前マングリングを無効にするようにコンパイラーに通知するために使用されます。http://en.wikipedia.org/wiki/Name_mangling
それはおそらくそのようではありませんが、もっと似ています:
#ifdef __cplusplus
extern "C" {
#endif
//some includes or declarations
#ifdef __cplusplus
}
#endif
C
これは、ディレクティブ内で宣言されているものすべてに名前マングリングを使用するようにコンパイラーに指示します。
あなたが今それを持っている方法:
#ifdef __cplusplus
extern "C" {}
#endif
デッドコードです。
Extern "C"
-指定された関数がCスタイルでコンパイルされていることをコンパイラに通知します。