代码之家  ›  专栏  ›  技术社区  ›  Mate Gvenetadze

我想知道如果这个程序全天候运行,操作系统会过载吗?

  •  0
  • Mate Gvenetadze  · 技术社区  · 7 年前

    没有语法错误,但我想知道如果这个程序全天候运行,操作系统会过载吗?如何测试记忆力?我的意思是有多少未使用的变量?我在visual studio中编写了这段代码,可以进行一些更改。

    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);
        }
    }
    
    1 回复  |  直到 7 年前
        1
  •  2
  •   dbush    7 年前

    不,操作系统不会“过载”。

    循环的每次迭代都有3秒钟的睡眠时间,每次迭代中几乎没有什么事情发生,所以CPU的使用不是问题。您没有超越任何内存限制,并且在使用后释放了所有分配的内存,因此内存使用不是问题。