#include #include void run(char* code, char* name) { TCCState* state = tcc_new(); unsigned long addr = 0; int res = 0; double(*f)(double) = 0; res = tcc_set_output_type(state, TCC_OUTPUT_MEMORY); res = tcc_compile_string(state, code); res = tcc_relocate(state); res = tcc_get_symbol(state, &addr, name); f = addr; printf("f(0)=%g\n", f(0)); printf("f(1)=%g\n", f(1)); tcc_delete(state); } int main() { char* code = "double func(double x) { return (1.0-x); }"; run(code, "func"); return 0; }