#ifdef __cplusplus
774 ワード
C++ CALL C CODE
C++コードでCで書かれたライブラリファイルを呼び出すには、extern「C」でコンパイラに伝える必要があります.これはCで書かれたライブラリファイルです.Cでリンクしてください.
C CALL C++ CODE
では、cの中でc++のコードを呼び出すとき、c++のコードもこのキーワードを使って、後ろの括弧の中で、いくつかの関数を書いて、それでは、cの中で宣言して、それから直接使ってください.
eg:
PS://CでC++言語の関数と変数を参照する場合、C++の関数または変数はextern"C"{}に宣言しますが、C言語ではextern"C"は使用できません.そうしないとコンパイルエラーになります.
ref
https://www.cnblogs.com/nx520zj/p/5920782.html
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