前言
如何在C++代码中调用写好的C接口?你可能会奇怪,C++不是兼容C吗?直接调用不就可以了?这里我们先按下不表,先看看C++如何调用C代码接口。
C++如何调用C接口
为什么会有这样的情况呢?想象一下,有些接口是用C实现的,并提供了库,那么C++中该如何使用呢?我们先不做任何区别对待,看看普通情况下会发生什么意想不到的事情。
首先提供一个C接口:
//来源:公众号【C语言PLUS】
//test.c
#include"test.h"
void testCfun()
{
printf("I am c fun\n");
return;
}
为了简化,我们在这里就不将它做成静态库或者动态库了,有兴趣的可以参考[静态库制作]自行尝试。我们在这里编译成C目标文件:
gcc -c test.c
另外提供一个头文件test.h:
#include<stdio.h>
void testCfun();
我们的C++代码调用如下:
//来源:公众号【C语言PLUS】
//main.cpp
#include"test.h"
#include<iostream>
using namespace std;
int main(void)
{
/*调用C接口*/
cout<<"start to call c function"<<