基于IPP库将FFT函数封装为C++类库并导出为dll(固定接口支持更新)

dll导出C++类的方式

基于IPP库将FFT函数封装为C++类库并导出为dll(固定接口支持更新)_第1张图片

C++类通常有3中导出方式,具体可以参考这篇博客:
Dll导出C++类的3种方式

简单来总结一下:

一、纯C语言方式,类似显式传递this指针

缺点

  • 调用创建对象函数的时候编译器无法判断类型是否匹配
  • 需要手动调用Release函数,一旦忘记则会造成内存泄露
  • 如果导出的函数的参数支持除基本数据类型以外的其他类型的参数(例如:class),则也得为这些类型提供接口。

二、直接导出C++类

缺点:

  • 这种方式虽然简单易用,但是局限性很大,而且后期维护会很麻烦,除了导出的东西太多、使用者对类的实现依赖太多之外,还有其它问题:必须保证使用同一种编译器。导出类的本质是导出类里的函数,因为语法上直接导出了类,没有对函数的调用方式、重命名进行设置,导致了产生的dll并不通用。

  • Dll地狱问题,假设DLL需要升级,对CDll进行了修改,增加了一个成员变量m_n2,其他的都不改变
    总结起来,其实是一句话:导出类的DLL

你可能感兴趣的:(VC算法与小工具实现,dll,C++类导出,动态链接库,FFT,IPP)