#pragma once void print_help(const char *progname) { printf("Использование: %s [опции]\n", progname); printf(" -h, --help показать это сообщение\n"); printf(" -t, --threads N указать число потоков\n"); printf(" -i, --iterations N указать число повторения тестов\n"); printf(" -j, --json вывод в виде json\n"); printf(" -p, --pretest-delay N указать сколько секунд ждать\n\t\t\tперед проверкой памяти после записи\n"); printf(" --simulate-errors создаёт ошибки с вероятностью\n\t\t\t%%0.0001 каждый на 1 из 1000 проверок\n"); } void aaa(int* argc, char *argv[], int* pretest_delay){ const struct option long_options[] = { {"help", no_argument, 0, 'h'}, {"threads", required_argument, 0, 't'}, {"verbose", no_argument, 0, 'v'}, {"iterations", required_argument, 0, 'i'}, {"json", no_argument, 0, 'j'}, {"pretest-delay", no_argument, 0, 'p'}, {"simulate-errors", no_argument, 0, 's'}, {0, 0, 0, 0} }; int opt; while ((opt = getopt_long(*argc, argv, "ht:i:jp:", long_options, NULL)) != -1) { switch (opt) { case 'h': print_help(argv[0]); exit(0); case 't': args.tred = atoi(optarg); break; case 'i': args.iterations = atoi(optarg); break; case 'p': *pretest_delay = atoi(optarg); break; case 'j': args.json = 1; break; case 's': args.simulate_errors = 1; break; default: print_help(argv[0]); exit(1); } } }