浅谈extern(C++)
Posted 每天告诉自己要努力
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了浅谈extern(C++)相关的知识,希望对你有一定的参考价值。
首先要知道使用场景:在C++的程序中想要调用C语言的程序中函数
因为C++是有函数重载的,而C语言是没有函数重载的
而函数重载,编译器会自动改变函数名字,比如
void add(int a, int b);
比如这个函数,编译器可能会自动改变函数名字为:_addv,因此如果此时要使用别的源文件或者头文件中的C语言函数,则会报错:无法连接的外部命令
因此在这种使用场景下,不能够像普通C++程序一样,只包括了那个想要用的函数的头文件就可以了。
这里不能包括那个函数的头文件,应该直接用 extern void add (int a, int b);
以上是关于浅谈extern(C++)的主要内容,如果未能解决你的问题,请参考以下文章
尝试使用 c++ .so 库编译 c 代码,带有 extern "C" ... 段