Advertisement

Pimpl惯用法处理DLL导出问题

阅读量:

在构建组件类的过程中,通常会采用Pimpl(pointer to implementation,指向实现的指针)这一常见技术手段。其主要目标在于减少模块间的耦合度、实现信息的隐藏以及将接口与具体实现进行分离。尽管许多资料中提及该方法有助于降低编译依赖并提升编译效率,但本人并未有明确的体会,这或许与项目规模相关,此处仅作为一种可能的观点予以提及。由于该方法涉及指针操作,为确保内存能够被正确释放,采用了智能指针std::tr1::shared_ptr,这是C++标准库所提供的解决方案。创建一个接口类的示例大致如下:

复制代码
 class CImpW;

    
 class CINIFILE_API CCIniFileW 
    
 {
    
 	///
    
 	具体接口内容,省略……
    
 	///
    
 private:
    
 	std::tr1::shared_ptr<CImpW> m_pImp;
    
 };
    
    
    
    

在工程构建过程中将生成一个dll文件,然而IDE工具会提示相应的警告信息:

该提示表明存在

全部评论 (0)

还没有任何评论哟~