【发布时间】:2012-10-09 11:07:54
【问题描述】:
今天,在我的计算机科学课上,有人告诉我我可以调整程序在编译期间可以分配的内存量(使用 GCC、Linux)。此数量默认设置为最佳模式(这意味着尽可能多)。
在调试我的应用程序期间,我可以从这个编译器功能中受益匪浅,因为我需要正确处理分配错误,这在我的内存超过 16 GB 的 PC 上是相当棘手的。
有人知道这个选项是什么吗?我希望像 gcc --maxalloc 1024 这样的东西,这意味着我的程序最多可以分配 1024 字节的内存。
【问题讨论】:
-
您应该真正注意平衡
malloc()s 与相应的free()s,而不是依赖于在内存极低的情况下杀死程序。 -
@H2CO3 我认为我可以很好地跟踪分配的内存,但是在分配太多内存时我需要捕获
bad_alloc。 -
您说的是编译期间
gcc编译器使用的内存(您可以使用gcc -ftime-report来获取),还是编译后的可执行文件使用的内存? -
@BasileStarynkevitch 可执行文件:)
标签: c++ linux gcc memory-management