In RVMDK3.05, I use simulator to debug C++ code, but it can't run to main function. (Select LPC2292 in "Options for Target" dialog when creating project)
Sample code in test1.cpp as following:
class MYCLASS { public: MYCLASS(){} ~MYCLASS(){} }; MYCLASS myobject; int main() { while (1); return 0; }
If we remove the destructor, it can run to main function. Sample code in test2.cpp as following:
class MYCLASS { public: MYCLASS(){} // ~MYCLASS(){} //remove this line }; MYCLASS myobject; int main() { while (1); return 0; }
You are basically talking about the same thing.
In this case, the global object can probably manage without a destructor, since the behaviour of embedded equipment after main() ends is quite interesting anyway...
If the same class is also used for dynamically or stack-allocated objects, then these objects may require that the class has a proper destructor, since they may require that a resource is returned/released on destruct.