#ifdef __cplusplus extern“C”{#endif意味

442 ワード

以下のように、C言語の*.hファイルに次のように表示されます.
#ifdef __cplusplus
extern "C" {
#endif


    ...
    
#ifdef __cplusplus
}
#endif

この役割はよく見られますし、忘れがちなので、今日は記録しましょう.
__cplusplusはC++コンパイラに内定し、*.cppファイルでは、マクロに直接アクセスできます*.cファイルは表示されません.
externの“C”は主に教えて、これは1段のC言語のコードで、コンパイルする時、C風格の関数名を維持して、リンクする時、Cの方式を採用してそれをリンクします.
したがって,全体を統合する目的は,C++とCコンパイラの場合,同一の関数で発生する関数名が異なるという問題を解決し,CとC++の関数間の呼び出しを容易にすることである.