title: Introduction icon: dot
The C-APIs are designed for these purposes:
__import__ at runtime. By using C-APIs, the module is portable across different compilers without C++ ABI compatibility issues.Our C-APIs take a lot of inspiration from the lua C-APIs.
Methods return a bool indicating if the operation succeeded or not.
Special thanks for @koltenpearson's contribution.
pkpy_vm* pkpy_new_vm(bool enable_os)Create a new VM.
enable_os: if true, the VM will have access to the os librarybool pkpy_vm_run(pkpy_vm* vm_handle, const char* source)Run the given source code in the VM.
source: the source code to runvoid pkpy_delete_vm(pkpy_vm* vm_handle)Dispose the VM.
bool pkpy_vm_exec(pkpy_vm* vm_handle, const char* source)A wrapper of vm->exec(...).
bool pkpy_vm_exec_2(pkpy_vm* vm_handle, const char* source, const char* filename, int mode, const char* module)A wrapper of vm->exec_2(...).