📄 finclib.c
字号:
#include <finclib.h>#include <fincsys.h>void finc_init(){ g_finc_app_global = finc_app_new (); finc_sys_init ();}void finc_set_path(unsigned char* path){}void finc_exit(){ unref (g_finc_app_global);}void finc_insert_struct(){}void finc_insert_var(){}void finc_remove_var(){}#include <finctype.h>void finc_insert_func(unsigned char* p_name, void* p_func, unsigned char* p_rettype, ...){ va_list marker; FinCFunc* l_func; FinCField* l_field; FinCType* l_type; String* l_name; unsigned char* l_paramtype; unsigned char* l_paramname; l_func = finc_app_add_func_native (g_finc_app_global, p_name, p_func); l_func->ret_type = finc_type_new_name (p_rettype, FinCArrayType_None, 0); va_start (marker, p_rettype); l_paramtype = va_arg(marker, unsigned char*); while (l_paramtype) { if (strcmp (l_paramtype, "...") == 0) l_func->opt_param = TRUE; else { l_paramname = va_arg (marker, unsigned char*); l_type = finc_type_new_name (l_paramtype, FinCArrayType_None, 0); l_name = string_new (); string_set_str (l_name, l_paramname); l_field = finc_field_new (l_name, l_type); unref (l_type); unref (l_name); finc_func_add_param (l_func, l_field); unref (l_field); } l_paramtype = va_arg(marker, unsigned char*); } va_end (marker);}void finc_call_func(){}void finc_run_script(unsigned char* filename){ FinCNode* l_node; FinCFunc* l_func; String* l_filename; String* l_name; l_filename = string_new (); string_set_str (l_filename, filename); l_node = finc_lang_load (l_filename); if (l_node) { finc_node_evaluate (l_node); unref (l_node); l_name = string_new (); string_set_str (l_name, "main"); l_func = finc_app_get_func (g_finc_app_global, l_name); unref (l_name); if (l_func) { finc_func_call (l_func, NULL); unref (l_func); } else { printf ("Function 'main' not founded\n"); } } unref (l_filename);}void finc_run_string(unsigned char* str){}void finc_mem_debug(){}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -