- DoxyGen解析C/C++源文件生成RTF文档的问题
- 高薪诚聘Senior SQA,QAmanager,Senior QA以及C/C++开..
- [c/c++]猛然一个疑问
- web—>c/c++,技术转向,求助!
- linux下c/c++是否用stl库?
- Vim 如何格式化一个C/C++文件!
- [民意调查]---说说你对ChinaUnix的C/C++论坛的评价
- ClairNET招聘高级C/C++程序员
- 上市公司 高薪诚聘搜索引擎,自然语言处理工程师,C..
- 基于TCP的C/S 架构在网络通讯中的一个问题,请各位大..
- C/C++的另一个高手比较多的论坛
- C/C++还再更新吗?或者就是现在的D语言?
- 关于UNIX下C/C++程序运行时Segment fault(coredump)..
- 关于C/S,B/S的看法
- 请教:关于Panorama C/C++
- 一无所有兄,一起讨论一下C/S、B/S的实现怎样
- 请大家推荐些linux下C/C++编程方面的书
- 在UNIX下有C/C++的解析XML的工具或库文件只类的吗?
- 如何用C/C++解析XML文档
- 有谁知道 C/C++xml 解析器 支持 处理 xsd 文件的吗?..
我在主程序中加载插件,进行数据处理
[table=95%][tr][td][font=FixedSys][color=#0000cc]#include <dlfcn.h>
typedef void *atom;
typedef atom (*Element) (atom, char *);
...
...
Element
findSymbol (char *name)
{
static void *plugin;
plugin = dlopen ("./plugin", RTLD_NOW);
if (plugin)
{
return dlsym (plugin, name);
}
printf ("%s", dlerror ());
return NULL;
}[/color][/font][/td][/tr][/table]
当插件使用C编写时候没有任何问题,但是使用C++编写时,dlopen不能正确的解析符号,于是查找资料,看到这篇文章中提到了C++的“name mangling”(http://linux.web.cern.ch/linux/documentation/mirror/howto/C++-dlopen.html),发现在不得不在主程序中链接插件依赖的一些库,于是使用C++编译器编译主程序,结果出现有名的void*指针问题
[table=95%][tr][td][font=FixedSys]pipeline.c: In function ‘void* (* findSymbol(char*))(void*, char*)’:
pipeline.c:49: 错误:从类型 ‘void*’ 到类型 ‘void* (*)(void*, char*)’ 的转换无效[/font][/td][/tr][/table]
函数findSymbol不能通过编译,请高手指点

