mirror of
https://github.com/pocketpy/pocketpy
synced 2025-10-22 04:20:17 +00:00
25 lines
410 B
C++
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;
|
|
} |