Każdy zna rozwiązanie, które działa mniej więcej tak:
#include <stdio.h>
#include <gcc.h> /* This .h is what I'm looking for. */
int main (void) {
/* variables declaration (...) */
/* The following line is supposed to be equivalent to:
* $ gcc main.c -o main */
results = gcc_compile_and_link("main.c", "main");
/* Now I want to use the warnings and errors to do something.
* For instance, I'll print them to the console: */
printf("warnings:\n");
for (i=0; i<results.warns_len; i++)
printf("%s\n", results.warings[i].msg);
printf("errors\n");
for (i=0; i<results.errs_len; i++)
printf("%s\n", results.errors[i].msg);
/* free memory and finalize (...) */
return 0;
}
Wiem, że mogę uruchomić polecenie „gcc main.c -o main” w rozwidleniu i przeanalizować dane wyjściowe ... ale szukałem czegoś bardziej „ niezawodnego ”, jak w powyższym przykładzie.