这是我之前的账号很早的一篇旧文了,表示之前号还在用 就是慢了点。
前言
如何在C++代码中调用写好的C接口?你可能会奇怪,C++不是兼容C吗?直接调用不就可以了?这里我们先按下不表,先看看C++如何调用C代码接口
C++如何调用C接口
为什么会有这样的情况呢?想象一下,有些接口是用C实现的,并提供了库,那么C++中该如何使用呢?我们先不做任何区别对待,看看普通情况下会发生什么意想不到的事情。
首先提供一个C接口:
//test.c
#include"test.h"
voidtestCfun()
{
printf("I am c funn");
return;
}
为了简化,我们在这里就不将它做成静态库或者动态库了,有兴趣的可以参考《静态库制作》自行尝试。我们在这里编译成C目标文件:
gcc -c test.c
另外提供一个头文件test.h:
#include<stdio.h>
voidtestCfun();
我们的C++代码调用如下:
//main.cpp
#include&