diff --git a/examples/ffi-example/ffi.du b/examples/ffi-example/ffi.du index 27fdd50a..8a964dd3 100644 --- a/examples/ffi-example/ffi.du +++ b/examples/ffi-example/ffi.du @@ -10,7 +10,7 @@ if(System.platform == "windows") { } for(var i = 0; i < 25; i+=1) { - print(mod.dictu_ffi_test(1, i*2)); - print(mod.dictu_ffi_test_str()); + print(mod.dictuFFITestAdd(1, i*2)); + print(mod.dictuFFITestStr()); } print(mod.test); diff --git a/src/include/dictu_ffi_include.h b/src/include/dictu_ffi_include.h index d21af07e..c71d4891 100644 --- a/src/include/dictu_ffi_include.h +++ b/src/include/dictu_ffi_include.h @@ -299,6 +299,7 @@ typedef struct { } CallFrame; struct _vm { + void* _compilerStub; Value stack[STACK_MAX]; Value *stackTop; bool repl; diff --git a/tests/ffi/ffi.du b/tests/ffi/ffi.du index 480d9fd5..d5af15dd 100644 --- a/tests/ffi/ffi.du +++ b/tests/ffi/ffi.du @@ -5,7 +5,7 @@ Used c code start: -#include "dictu-include.h" +#include Value dictu_ffi_test(DictuVM *vm, int argCount, Value *args) { if(argCount != 2 || !IS_NUMBER(args[0]) || !IS_NUMBER(args[1])){ @@ -16,17 +16,18 @@ Value dictu_ffi_test(DictuVM *vm, int argCount, Value *args) { return NUMBER_VAL(a+b); } Value dictu_ffi_test_str(DictuVM *vm, int argCount, Value *args) { - return OBJ_VAL(copyString(vm, "Hello world", 11)); + return OBJ_VAL(copyString(vm, "Hello From Dictu FFI module!", 28)); } int dictu_ffi_init(DictuVM *vm, Table *method_table) { - defineNative(vm, method_table, "dictu_ffi_test", dictu_ffi_test); - defineNative(vm, method_table, "dictu_ffi_test_str", dictu_ffi_test_str); + defineNative(vm, method_table, "dictuFFITestAdd", dictu_ffi_test); + defineNative(vm, method_table, "dictuFFITestStr", dictu_ffi_test_str); defineNativeProperty( vm, method_table, "test", OBJ_VAL(copyString(vm, "Dictu!", 6))); return 0; } + Used c code end */ diff --git a/tests/ffi/libs/test-lib.dylib b/tests/ffi/libs/test-lib.dylib index 111e0ba7..84887d6b 100755 Binary files a/tests/ffi/libs/test-lib.dylib and b/tests/ffi/libs/test-lib.dylib differ