ACE_TSS全局变量析构的问题

原创 2012年01月02日 11:05:49

在调试时ace6.0.6发现,使用到全局的ACE_TSS类时,程序退出时会报错,跟踪了一下发现问题的原因在于析构的顺序问题

 

1.退出时,先析构的是ACE_Main_Base

 

2.之后析构的是全局ACE_TSS对象,这时就出在setspecific的时候出错

 

3.解决方案控制全局对象的构造与析构顺序,让ACE_Main_Base最后才析构,这点貌似不好做到

临时的方法是改成全局指针,在main函数栈里构造对象,再把指针传给全局的,测试下来,不再报错

但这个方法比较蛋疼

用JSP构建动态网站

一、 什么是JSP  JSP(JavaServer Pages)是由Sun Microsystems公司倡导、许多公司参与一起建 立的一种动态网页技术标准,其网址为http://www.javasof...
  • weqa
  • weqa
  • 2000-09-06 19:59:00
  • 1060

C++全局变量与静态变量构造析构顺序问题

今天看到C++全局变量和静态局部变量的构造析构顺序的一道题,自己不会,于是就做了个实验,记录下来。实验代码如下: #include class A { int aaa; public: ...
  • qiu824039983
  • qiu824039983
  • 2016-08-25 16:16:51
  • 1990

探讨全局变量的析构顺序

                                                                        朱金灿 前言:最近回答了网友一个问题,当然我不是C++高...
  • clever101
  • clever101
  • 2007-09-29 23:56:00
  • 3507

exit() 只析构全局变量不析构局部变量

先看以下这段代码: #include #include #include class CTest { public: CTest(int iIdentity){m_iTest=iId...
  • gerryke
  • gerryke
  • 2015-12-03 15:28:21
  • 335

与全局变量构造析构顺序有关的一道面试题(C++)

题目是#include  int  main(){    std::cout    return 0;}如何在不修改上述代码中mian()里面的部分,使输出的内容为:StartThis is in ...
  • wstarx
  • wstarx
  • 2006-06-26 13:20:00
  • 1628

C++如何禁止全局对象被析构

C++如何禁止全局对象被析构 转自http://www.fenesky.com/blog/2014/04/15/global-object-destructor.html 全局对象无论是在...
  • hudaliquan
  • hudaliquan
  • 2015-11-26 14:33:35
  • 1315

全局对象和全局静态、局部静态析构顺序

多久不用C++ ,好多東西都模糊了,最近跟人討論全局和靜態的析構順序,之前總覺得這個根據編譯器來決定的,其實還是有一定的說法的。 記錄一下:1. 全局与静态对象析构的顺序class A destru...
  • cartzhang
  • cartzhang
  • 2017-06-07 21:49:00
  • 1140

ACE全局变量 ACE_TSS类

C++全局变量虽然有时候很有用,但也可能带来有害的副作用和不确定的初始化语义,从而产生微妙的问题。在“多线程”应用程序中,这些问题还会加剧。特别是,当多个线程同时访问“未同步的全局变量”时,信息有可能...
  • wypeng1984
  • wypeng1984
  • 2010-11-17 09:56:00
  • 707

swift析构方法和扩展

/**     析构方法。     目的:对象内存在系统回收之前做一些收尾的工作,比如关闭文件,断开网络连接,释放对象持有的一些资源等工作。     Swift的内存管理方式是ARC...
  • WiKi_Su
  • WiKi_Su
  • 2015-11-25 18:58:49
  • 408

[Swift]构造和析构

1.
  • Lirx_Tech
  • Lirx_Tech
  • 2014-11-21 16:10:31
  • 816
收藏助手
不良信息举报
您举报文章:ACE_TSS全局变量析构的问题
举报原因:
原因补充:

(最多只允许输入30个字)