title: Leaving a c++ application without running destructors of global static objects
body: <p>I have "inherited" a design where we are using a few global objects for doing stuff when the application exits (updating application status log files, etc ... not important to the question). </p>
  
  <p>Basically the application creates dummy helper objects of specific classes and lets their destructor do these extra works when the application exits either normally or when an error was encountered (and the application knows what to do in all the cases, again not relevant to the question). </p>
  
  <p>But now I have encountered a situation where I do not want to call these destructors, just leave the application without executing these "termination jobs". How can I do this in a decent, platform independent way? I do not want a solution such as divide with zero :) </p>
  
  <p>Edit: I know the design is broken :) We are working on fixing it.</p>
  
  <p>Edit2: I would like to avoid any "trace" of abnormal exit... Sorry for late specification.</p>
  
  <p>Edit3: Obtaining access to the source code for the destructors in order to modify them is very difficult. This happens when politicians take over the keyboard and try to write programs. We just know, that "their" destructor will run on exit...</p>