私はexternキーワードに精通しており、他のファイルに存在する変数を宣言するために使用されますが、次のステートメントはどういう意味ですか?
extern "C" const IMAGE_DOS_HEADER __ImageBase;
__ImageBase
これは、に続くシンボル名をマングルしないことを意味しますextern "C"
。つまり、C++コードで変数を使用できるようになります。
extern "C"
適用するリンケージを指定します。要するに、リンケージ仕様。
これは、C ++コンパイラに、Cのタイプのリンケージを後続のシンボルに適用するように指示します。
良い読み物:
externを使用したリンケージの指定
CとC++の混合方法