В целях обучения я хочу иметь проект с несколькими исходными файлами, каждый из которых имеет свою собственную функцию main
. Как можно этого добиться? Что я пытаюсь сделать, так это поместить все мои файлы C в один и тот же проект и выборочно скомпилировать те, над которыми я сейчас работаю. Или, что еще лучше, укажите имя файла в качестве аргумента программы, чтобы она могла его выполнить:
Например, в моем main.c
я хотел бы иметь (где функции sample*_main
находятся в разных файлах):
int main(int argc, char ** argv) {
if (argc > 0) {
if (strstr(argv[0], "sample1")) return sample1_main(argc, argv);
else if (strstr(argv[0], "sample2")) return sample2_main(argc, argv);
// etc...
}
printf("Not sure what I should run.\n");
return -1;
}
Затем выполните программу следующим образом: main.exe
sample1
У меня возникла проблема с ошибкой «множественное определение» при компиляции проекта такого типа, когда некоторые функции имеют общие имена в файлах sample*.c.