我需要在内存中存储一个“大”文件(比如小于 2mb),我想知道是否可以直接使用
char buffer[2048000];
有没有更好的处理方式?使用大型字符数组有任何性能问题吗?
最佳答案
是的,可能会有问题,如果它是一个自动存储持续时间的变量,大多数 C 实现将在堆栈上分配该缓冲区,并且可供使用的“堆栈内存”量可能非常小。
最好的办法是对大于几千字节的任何内容使用 malloc
。请记住在适当的时候调用 free
。
将其设为static
是另一种可能性,或者将其设为全局可能会有所帮助。
关于c - 大型字符缓冲区是否可以在 C 中使用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35504437/