C++实现“隐藏实现,开放接口”的方案

2020-01-06 13:23:11王冬梅
  • //===============================================================  #ifdef EXPORT //导出库 
  • #define _API_ __declspec(dllexport)  #else //导入库 
  • #define _API_ __declspec(dllimport)  #endif //EXPORT 
  •    
  • #ifdef EXPORT_STATIC //导出静态库  #define EBAPI int 
  • #else //导出动态库  #define EBAPI extern "C" _API_ int 
  • #endif //EXPORT_STATIC   
  •   //--------------------------------------------------------------- 
  • //function:   // CreateDoc 创建Document对象 
  • //Access:  // public  
  • //Parameter:  // [in] IDocument * & pDocument - 
  • //Returns:  // EBAPI - 
  • //Remarks:  // ... 
  • //author: luowf[/luoweifu]  //--------------------------------------------------------------- 
  • EBAPI CreateDoc(IDocument*& pDocument);   
  •   //--------------------------------------------------------------- 
  • //function:   // DestroyDoc 销毁一个Document对象 
  • //Access:  // public  
  • //Parameter:  // [in] IDocument * pDocument - 
  • //Returns:  // EBAPI - 
  • //Remarks:  // ... 
  • //author: luowf[/luoweifu]  //--------------------------------------------------------------- 
  • EBAPI DestroyDoc(IDocument* pDocument);