embedding python move from python-cheat

This commit is contained in:
Ciro Santilli 六四事件 法轮功
2020-02-24 00:00:01 +00:00
parent b468b5bc95
commit 7c93912413
9 changed files with 997 additions and 0 deletions

View File

@@ -0,0 +1,24 @@
/* https://cirosantilli.com/linux-kernel-module-cheat#embedding-python-in-another-application
*
* Adapted from: https://docs.python.org/3.7/extending/embedding.html#very-high-level-embedding
*/
#define PY_SSIZE_T_CLEAN
#include <Python.h>
int main(int argc, char *argv[]) {
(void)argc;
wchar_t *program = Py_DecodeLocale(argv[0], NULL);
if (program == NULL) {
fprintf(stderr, "Fatal error: cannot decode argv[0]\n");
exit(1);
}
Py_SetProgramName(program);
Py_Initialize();
PyRun_SimpleString(argv[1]);
if (Py_FinalizeEx() < 0) {
exit(120);
}
PyMem_RawFree(program);
return 0;
}