Запуск симуляции FIFO - PullRequest
0 голосов
/ 24 сентября 2010

Я пытаюсь запустить программу симуляции для проверки алгоритма FIFO, но моя программа просто падает.это основная, остальные функции не показаны.Может кто-нибудь определить для меня проблему. Я не очень знаком с использованием основного аргумента [int main (int argc, char * argv [])] У меня есть файлы тестирования в папке

int main(int argc, char *argv[])
  {
   FILE *stream;

  if (argc != 3)
 {
 printf("The format is: pager file_name memory_size.\n");
 //exit(1);
 }

  printf("File used %s, resident set size %d\n", argv[1], atoi(argv[2]));

 if ((stream = fopen(argv[1], "r")) == NULL)
{
  perror("File open failed");
 //exit(1);
 }
  mem_size = atoi(argv[2]);
 start_simulation(stream);
 fclose(stream);
 system("pause");
}

1 Ответ

0 голосов
/ 24 сентября 2010

Раскомментируйте вызовы для выхода.

if (argc != 3) {
 // insufficient arguments passed..print error and exit.
 printf("The format is: pager file_name memory_size.\n");
 exit(1);
}

В вашем случае (прокомментированный выход), если вы не предоставите аргументы командной строки, argv[1] будет NULL, и это может вызвать сбой при использованиив fopen

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...