0
没有语法错误,但我想知道如果这个程序24/7运行将操作系统过载?以及如何测试内存?我的意思是有多少未使用的变量?我在Visual Studio中编写了这个代码,可能会有一些变化。我想知道如果这个程序24/7运行将操作系统超载?
struct video{
char category[10];
long long int rating;
};
int main(void){
srand((unsigned int)time(0));
while (1) {
struct video* gaming = (struct video*) malloc(sizeof(*gaming));
struct video* music = (struct video*) malloc(sizeof(*music));
struct video* vlog = (struct video*) malloc(sizeof(*vlog));
strcpy_s(gaming->category, 7, "Gaming");
strcpy_s(music->category, 6, "Music");
strcpy_s(vlog->category, 5, "Vlog");
gaming->rating = rand() % 10000000 + 1;
music->rating = rand() % 10000000 + 1;
vlog->rating = rand() % 10000000 + 1;
printf("Category: %s Rating: %lld",gaming->category,gaming->rating);
printf("Category: %s Rating: %lld",music->category,music->rating);
printf("Category: %s Rating: %lld",vlog->category,vlog->rating);
Sleep(3000);
system("cls");
free(gaming);
free(music);
free(vlog);
}
}
我建议你移动'srand'了'while'循环的,虽然你在每个循环延时3秒,你可能不会立即注意到缺少随机性。 –
“*以及如何测试内存*”简单的方法(不适合飞机等):让它运行一分钟,一小时,一天,一周,并定期查阅任务管理器有关程序过程的信息? – alk
这可能是堆可能最终支离破碎 - 并注意你不'free'内存分配 –