我需要在内存中存储一个“大”文件(比如说不到2mb),我想知道是否可以使用
char buffer[2048000];
Run Code Online (Sandbox Code Playgroud)
有没有更好的方法来处理它?使用大型char数组是否有任何性能问题?
是的,可能存在问题,如果该缓冲区是自动存储持续时间的变量,则大多数 C 实现将在堆栈上分配该缓冲区,并且可供使用的“堆栈内存”量可能非常小。
最好的办法是malloc用于大于几千字节的任何内容。只记得free在适当的时候打电话。
使其static成为另一种可能性或使其全球化可能会有所帮助。
| 归档时间: |
|
| 查看次数: |
1389 次 |
| 最近记录: |