#ifdef __cplusplus

774 ワード

C++ CALL C CODE
C++コードでCで書かれたライブラリファイルを呼び出すには、extern「C」でコンパイラに伝える必要があります.これはCで書かれたライブラリファイルです.Cでリンクしてください.
#ifdef  __cplusplus
extern "C" {
#endif

//   

#ifdef  __cplusplus
}
#endif

C CALL C++ CODE
では、cの中でc++のコードを呼び出すとき、c++のコードもこのキーワードを使って、後ろの括弧の中で、いくつかの関数を書いて、それでは、cの中で宣言して、それから直接使ってください.
eg:
//test.cpp
#include 
extern "C"{
	void mytest() {
		printf("mytest in .cpp file ok
"); } }
//main.c
void mytest();
int main() {
	mytest();
	return 0;
}

PS://CでC++言語の関数と変数を参照する場合、C++の関数または変数はextern"C"{}に宣言しますが、C言語ではextern"C"は使用できません.そうしないとコンパイルエラーになります.
ref
https://www.cnblogs.com/nx520zj/p/5920782.html