pocketpy/src/test.cpp
blueloveTH 234ec85fc6 up
2023-03-13 16:41:28 +08:00

25 lines
410 B
C++

#include "cffi.h"
#include "pocketpy.h"
using namespace pkpy;
float* f(int* a){
*a = 100;
return new float(3.5f);
}
int main(){
VM* vm = pkpy_new_vm(true);
vm->bind_builtin_func<1>("f", NativeProxyFunc(&f));
pkpy_vm_exec(vm, R"(
from c import *
p = cast(malloc(4), "int*")
ret = f(p)
print(p.get()) # 100
print(ret, ret.get()) # 3.5
)");
pkpy_delete(vm);
return 0;
}