The abort function "bypasses the normal destruction process for initialized global static variables" per MS C++ Docs. What happens when a process aborts or objects are otherwise not properly destroyed and the implied resource de-acquisition is not performed?
For example, how would a file lock be cleared? Does the OS keep track of all the resources a process acquires, or would each file in the fs have to be queried? What would happen if a process puts a lock on stdin? The user would have no way of interacting with the system.