然而,在执行结束后,会出现长时间的暂停才返回到shell。
例如,在我的主函数的最后,我有以下代码:
std::cout << "End of execution" << endl;
但是我的程序执行大概会像这样:
$ ./program
做些事情...
执行结束
[长达2分钟的暂停]
$ -- 返回到shell
这是预期的行为还是我做错了什么?
我猜测程序在结尾处正在释放内存。但是,使用大量内存(例如Photoshop)的商业应用程序在关闭应用程序时不会出现此暂停。
请给建议 :)
编辑:最大的数据结构是一个用字符串作为键的unordered_map,并存储一个整数列表。
我在Linux上使用g++ -O2,我使用的计算机有128GB的内存(其中大部分空闲)。有一些巨大的对象
解决方案:最终我放弃了哈希表,因为它几乎已满。这解决了我的问题。