#include <iostream>
using namespace std;
int main() {
cout << "hello world !!!" << endl;
return 0;
}
规则
注意
本质
#include <iostream>
using namespace std;
const int age = 33;
void test();
void display(int a, int b = 22, int c = 33, void (*func)() = test);
void test() {
cout << "test()" << endl;
}
void display(int a, int b, int c, void (*func)()) {
cout << "a is : " << a << endl;
cout << "b is : " << b << endl;
cout << "c is : " << c << endl;
func();
}
int main() {
display(11);
return 0;
}
被extern ‘’C’’ 的代码会按照C语言的方式去编译
如果函数同时有声明和实现,要让函数声明被extern '‘C’'修饰,函数实现可以不修饰
由于C、C++编译规则不同,在C、C++混合开发时,可能会出现C++在调用C语言的API时,需要extern ‘‘C’’ 修饰C语言函数声明
有时也会在编写C语言代码中直接适用extern ‘‘C’’,这样就可以直接被C++调用
通过使用宏 __cplusplus来区分C、C++环境