去sony笔试,问了个extern “C”的题目,我以前一直认为c要调用c++的函数需要把c++的函数使用extern “C”申明下,告诉c++编译器我的c++代码用c的规范去编译,好让c的编译器能够调用。但是现在发觉c++调用c的代码时也需要将c的函数用extern “C”申明下,原来是双向的。
一般我们会在头文件中定义公共的函数,并且为了兼容c++和c的相互调用,一般会这么写:
使用ifdef __cpluscplus后,c++代码和c的代码就可以共用了。其实也挺简单的。
去sony笔试,问了个extern “C”的题目,我以前一直认为c要调用c++的函数需要把c++的函数使用extern “C”申明下,告诉c++编译器我的c++代码用c的规范去编译,好让c的编译器能够调用。但是现在发觉c++调用c的代码时也需要将c的函数用extern “C”申明下,原来是双向的。
一般我们会在头文件中定义公共的函数,并且为了兼容c++和c的相互调用,一般会这么写:
使用ifdef __cpluscplus后,c++代码和c的代码就可以共用了。其实也挺简单的。