我目前正在使用C ++和emscripten工具链学习Web组装。我了解内存如何在C ++中与堆栈和堆一起工作,以及该Web程序集使用连续的内存缓冲区,该缓冲区的最大大小为4GB(或任何浏览器允许的大小)。 Web程序集中的C ++中是否有最大大小可用于在堆栈上分配数据,并且它不同于最大内存大小。例如,我可以使用C ++在堆栈上分配所有数据,并能够使用最大内存,还是应该在堆上分配数据,并由我自己管理(使用智能指针)?
答案 0 :(得分:0)
我认为总内存(TOTAL_MEMORY选项)包括堆栈空间和堆空间。
您具有TOTAL_STACK =选项,该选项允许更改保留给堆栈的大小。默认为5MB。
关于内存使用,您应该简单地执行常规C ++代码中的操作:有时堆栈上的事情会更好,有时使用智能指针或其他托管堆内存策略会更好,有时只是手动进行new / delete。