发信人: andonior() 
整理人: wenbobo(2002-12-06 22:21:47), 站内信件
 | 
 
 
DLL中虚析构函数为何不能用?
  我在DLL中定义了一个类,这个类有个虚析构函数, 从这个类继承的一个类中实际定义了析构函数, 做成的DLL一被调用就。。。。 我记得在DLL中不能申请内存给外部使用,但这样不算申请吧? 有那位高手知道为什么吗?
  附: DLL的程序 a.h         #include <windows.h>         #ifdef _USRDLL         #define EXPORT __declspec(dllexport)         #else         #define EXPORT         #endif         class EXPORT P {         public:                 P();                 virtual ~P();         };         class EXPORT A : public P {         public:                 A();                 ~A();         };
  a.cpp:         #include "a.h"         A::A(){}         A::~A(){}         P::P(){}         P::~P(){}
  调用的程序 main.cpp         #include "a.h"
          void main()         {                 A * p = new A;                 delete p;         }
  -- ------------------------ 悄悄地来,悄悄地去, 挥挥手,带不走一片云彩。 ------------------------
  ※ 来源:.月光软件站 http://www.moon-soft.com.[FROM: 202.101.190.115] =================================================================================== 发信人: tgm98 (夏雪), 信区: CLanguage 标  题: Re: DLL中虚析构函数为何不能用? 发信站: 网易虚拟社区 (Wed Sep  1 10:49:39 1999), 站内信件 :    ....... dll一般只能EXPORT 函数,如果是类的话,就有点特殊,你要好好看微软的文档 说明,有一些特殊的要求。另外,DLL中是可以申请内存给外部使用的,但在释放 时,最好也在DLL中释放。 -- 我一直认为严肃和忠贞是生命中最美的东西, 严肃地生活,严肃地学习,严肃地工作。。。 忠贞地爱人,忠贞地承诺,忠贞地思考。。。 可是,在这个物欲横流的堕落的世界, 又有谁能相信我的严肃和忠贞? ※ 来源:.月光软件站 http://www.moon-soft.com.[FROM: 202.96.191.59]
 
 
  | 
 
 
 |