Я не думаю, что есть какой-либо способ определить список стандартных функций Си для выполнения вашей задачи.Но это еще более раздражает, чем это - рассмотрим макросы, например:
#define OUTPUT(foo) printf("%s\n",foo)
main()
{
OUTPUT("Ha ha!\n");
}
Так что вы, вероятно, захотите прогнать свой код через препроцессор, прежде чем проверять, какие функции вызываются из main ().Тогда у вас могут быть такие случаи:
some_func("This might look like a call to fclose(fp), but surprise!\n");
Так что вам, вероятно, понадобится полноценный парсер, чтобы делать это строго, поскольку строковые литералы могут занимать несколько строк.
Я выиграл 'не поднимать триграфы ... это был бы просто бессмысленный садизм.:-) В любом случае, удачи и удачного кодирования!