- 论坛徽章:
- 0
|
- class CRudp
- {
- public:
- CRudp();
- .............//functions
- private:
- ///hold all the instances of rudp
- static CRudpList m_rudpList;
- ///timestamp
- static UINT m_nNow;
- ///rudp modules
- CRudpEngine* m_pEngine;
- CRudpFragment* m_pFragment;
- CRudpIO* m_pIO;
- CRudpReassemble* m_pReassemble;
- DISPATCH m_pfDispatch;
- ONTIMER m_pfOnTimer;
- int m_nTimerTickCount;
- BOOL m_bExitLoop;
- static BOOL m_bFirstInstance;
- }
复制代码- class CMediaServer
- {
- public:
- CMediaServer();
- .......//functions
- CRudp m_cRudp;
- private:
- CConf *m_pConfList;
- bool m_nxxx;
- int m_nConfCount;
- int m_nRecvBps;
- int m_nSendBps;
- int m_nTickCount;
- bool m_bRunning;
- }
复制代码- #include <unistd.h>
- #include "Rudp.h"
- #include "MediaServer.h"
- CMediaServer g_cMediaServer;
- int main()
- {
- printf("====\n");
- }
复制代码 分别在两个类里的默认构造函数最后一行加入
printf("rudp running...first=>%x,m_nNow=>%x,m_pEngine=>%x,m_pfDispatch=>%x,m_pfOnTimer=%x,m_nTimerTickCount=>%x,m_bExitLoop=>%x,m_add=>%x,last=>%x.\n",&m_rudpList,&m_nNow,&m_pEngine,&m_pfDispatch,&m_pfOnTimer,&m_nTimerTickCount,&m_bExitLoop,&m_add,&m_bFirstInstance);
printf("MediaServer::Rudp=>%x,m_pConfList=>%x,m_nxxx=>%x,m_nConfCount=>%x,m_nRecvBps=>%x,m_nSendBps=>%x,m_bRunning=>%x\n",&m_cRudp,&m_pConfList,&m_nxxx,&m_nConfCount,&m_nRecvBps,&m_nSendBps,&m_bRunning);
输出为:
rudp running...first=>7a3fa4,m_nNow=>7a3fa0,m_pEngine=>804c304,m_pfDispatch=>804c314,m_pfOnTimer=804c318,m_nTimerTickCount=>804c31c,m_bExitLoop=>804c320,m_add=>804c324,last=>7a3f8c.
MediaServer::Rudp=>804c300,m_pConfList=>804c31c,m_nxxx=>804c320,m_nConfCount=>804c324,m_nRecvBps=>804c328,m_nSendBps=>804c32c,m_bRunning=>804c334
这里为什么 CRudp 中的m_bExitLoop 和 CMediaServer 中的m_nxxx地址打印出来是一样的?(100%每次地址的值是一样的)
这个让我完全无解,求各位大大指导下!{:3_201:}
http://dev.yesky.com/460/2379960.shtml 这是网上查的一个c++内存分配方法 |
|