dll 导出函数

来源:互联网 发布:matlab 2015b mac下载 编辑:程序博客网 时间:2024/05/17 21:41

今天在帮同事弄DLL导出的函数的时候,发现一个问题,因为他之前的函数有重载,我原计划希望他原来所有的函数都不动,

而重载的函数都新建一个函数代替使用到,这样既保持了向下兼容向上扩展,例子如下:

void Func1(int )

void Func1(const char* )

Func1 和Func1 是一对重载函数,我打算新建一个函数

void Func1_New(const char* data) {

return Func1(data);

}

我就将Func1Func_New进行导出

编译是没有问题的,但是在link的时候编译器总是报告一个错误,未找到Func1的定义,

刚开始总是想不通,后来我想了想由于函数Func1 重载了,在导出Func1的函数的时候,编译器不能识别需要导出Func1具体是哪个函数,

因为我导出的函数名称是抹除了C++命名粉碎,如果支持C++命名粉粹的情况下是可以导出的

0 0