今天测试了一下C++ 源文件中要调用C源文件定义的函数,最初在头文件中声明函数,C源文件和C++源文件中都include头文件,导致CodeBlock编译不通过。经过修改和测试,发现在C源文件中不能include头文件,并且应该在头文件中添加extern操作。
main.cpp
#include <iostream>
#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语言定义的函数,避免编译错误。主要内容包括:如何在头文件中正确声明C函数,如何在C源文件中实现该函数,以及如何从C++源文件中调用它。通过具体代码示例说明了在跨语言调用时应注意的问题。





