正如我在这里描述的那样,我正在编写一个需要大量内存用于缓存目的的应用程序。现在我正在玩一些 malloc / new 结构来弄清楚我如何实现它。我做了一个奇怪的观察:
#include <stdio.h>
#include <stdlib.h>
int main(void) {
while(1) {
char *foo = (char*)malloc(1024);// new char[1024];
if(foo == NULL) {
printf("Couldn't alloc\n");
fflush(stdout);
return 0;
}
}
return 0;
}
为什么永远无法达到 printf ?如果我的系统内存不足,则据说 malloc 返回 NULL,如此处所述。但我总是收到 SIGKILL (我正在使用 linux ......)。