C++ extern(2) C++与C的混用

来源:互联网 发布:audition mac无法验证 编辑:程序博客网 时间:2024/06/14 09:20

在实际开发中,经常会遇到C++与C混用的情况,具体方法如下

C1.c文件是用C编写的C文件:

#include <stdio.h>  //使用C编写int i = 1;void func(){printf("%d", ++i);}


CPP1.cpp文件是用c++编写的C++文件

#include<iostream>using namespace std;//使用C++编写//extern int i;extern void func();int main() {func();system("PAUSE");return 0;}

编译后会出错,因为一个文件是c文件一个是cpp,两者又通过extern联系变量,所以出错

这时要使用extern"C"关键字

    所以在C++文件中编译C文件需要使用extern "C"关键字,声明语法如下所示

    extern "C"

    {

        采用C语言实现的内容

    }

在CPP1.cpp文件中:

#include<iostream>using namespace std;//使用C++编写extern "C" {extern int i;extern void func();}int main() {func();system("PAUSE");return 0;}

这样就可以通过编译了




原创粉丝点击