diff options
Diffstat (limited to 'src/script_sys.c')
| -rw-r--r-- | src/script_sys.c | 33 |
1 files changed, 33 insertions, 0 deletions
diff --git a/src/script_sys.c b/src/script_sys.c new file mode 100644 index 0000000..047ba8a --- /dev/null +++ b/src/script_sys.c @@ -0,0 +1,33 @@ +#include "script_sys.h" + +#include <libtcc.h> +#include <stddef.h> +#include <stdio.h> + +TCCState* state = NULL; + +int goob(void) +{ + return 255; +} + +void init_script_sys(void) +{ + state = tcc_new(); + tcc_set_output_type(state, TCC_OUTPUT_MEMORY); + + tcc_add_symbol(state, "goob", goob); + + tcc_add_file(state, "assets/src/main.c"); + + tcc_relocate(state, TCC_RELOCATE_AUTO); + + int(*const test)() = tcc_get_symbol(state, "test"); + printf("Result: %i\n", test()); +} + +void deinit_script_sys(void) +{ + tcc_delete(state); + state = NULL; +}
\ No newline at end of file |
