C++调用C文件中定义的函数接口

今天测试了一下C++ 源文件中要调用C源文件定义的函数,最初在头文件中声明函数,C源文件和C++源文件中都include头文件,导致CodeBlock编译不通过。经过修改和测试,发现在C源文件中不能include头文件,并且应该在头文件中添加extern操作。

main.cpp

#include 

#include "sum.h"

using namespace std;


int main(void)
{
    cout << "sum " << sum(2, 3) << endl;
}

sum.h


extern "C" {

int sum(int x, int y);
}

sum.c


int sum(int x, int y)
{

    int z = x + y;
    return z;
}


你可能感兴趣的:(c/c++)