C++的主线程在函数入口点函数返回C++才会执行清理任务。由于调用ExitProcess时,关闭了进程,使得对象没有被清理。

#include <stdio.h>
#include <Windows.h>

class CSomeObj {
	public:
	CSomeObj() { printf("Constructor\n"); }
	~CSomeObj() { printf("Destructor\n"); }
};

CSomeObj g_GlobalObj;

int main() {
	CSomeObj LocalObj;
	ExitProcess(1);
		return 0;
}