Il n'y a pas d'erreurs de syntaxe mais je veux savoir si ce programme s'exécute 24/7 le système d'exploitation sera-t-il surchargé? Et comment tester la mémoire? Je veux dire combien de variables inutilisées sont là? J'ai écrit ce code en studio visuel et il peut y avoir quelques changements.Je veux savoir si ce programme s'exécute 24/7 le système d'exploitation sera-t-il surchargé?
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);
}
}
Je vous suggère de déplacer 'srand' hors de la boucle while, bien que si vous retardez de 3 secondes dans chaque boucle, vous ne remarquerez pas immédiatement l'absence de caractère aléatoire. –
"* Et comment tester la mémoire *" Approche simple (ne convient pas aux avions, etc ...): laisser tourner une minute, une heure, un jour, une semaine et consulter régulièrement les informations du gestionnaire de tâches sur le processus du programme ? – alk
Il est possible que le tas puisse être fragmenté - et notez que vous ne libérez pas la mémoire dans l'ordre inverse de l'allocation –