21xrx.com
2024-11-05 21:36:45 Tuesday
登录
文章检索 我的文章 写文章
如何在C语言中调用C++中的 so文件
2023-06-15 18:23:04 深夜i     --     --
C语言 C++

C语言和C++语言之间有很多相似之处,但是也存在一些区别,其中一项就是C++支持面向对象编程,而C语言则不支持。在项目开发中,可能需要使用C++编写一些功能模块,而在C语言中调用这些模块,就需要使用动态链接库(.so文件)来实现。

在使用C++编写的模块中,我们需要使用extern "C"关键字来将模块代码的符号转换为C语言可识别的格式,这样C语言调用就不会出错。在编译C++代码时,需要加上-fPIC选项,表示编译生成的二进制文件是位置无关的。

在C语言中,通过dlopen函数打开.so文件,通过dlsym函数获取库中的函数指针,并通过函数指针来调用库中的函数。调用完毕后,使用dlclose函数关闭.so文件。

.so文件、动态链接库、extern "C"、fPIC、dlopen、dlsym、dlclose。

  
  

评论区

{{item['qq_nickname']}}
()
回复
回复