来源:公众号【编程珠玑】
作者:守望先生
网站:https://www.yanbinghu.com/2019/08/25/29412.html
前言
如何在C++代码中调用写好的C接口?你可能会奇怪,C++不是兼容C吗?直接调用不就可以了?这里我们先按下不表,先看看C++如何调用C代码接口。
C++如何调用C接口
为什么会有这样的情况呢?想象一下,有些接口是用C实现的,并提供了库,那么C++中该如何使用呢?我们先不做任何区别对待,看看普通情况下会发生什么意想不到的事情。
首先提供一个C接口:
//来源:公众号【编程珠玑】 博客:https://www.yanbinghu.com
//test.c
#include"test.h"
void testCfun()
{
printf("I am c fun\n");
return;
}
为了简化,我们在这里就不将它做成静态库或者动态库了,有兴趣的可以参考《静态库制作》自行尝试。我们在这里编译成C目标文件:
gcc -c test

本文探讨了C++如何调用C接口的问题,解释了由于C++的函数重载特性导致的链接错误原因,并提供了使用`extern "C"`解决此问题的方法。此外,文章还讨论了C++直接调用标准C库函数的情况,并提醒读者注意在C代码头文件中常见的`extern "C"`使用。
1389

被折叠的 条评论
为什么被折叠?



