diff options
-rw-r--r-- | Demo/embed/Makefile | 5 | ||||
-rw-r--r-- | Demo/embed/README | 6 | ||||
-rw-r--r-- | Demo/embed/demo.c | 15 |
3 files changed, 14 insertions, 12 deletions
diff --git a/Demo/embed/Makefile b/Demo/embed/Makefile index d63a9d4..9835c30 100644 --- a/Demo/embed/Makefile +++ b/Demo/embed/Makefile @@ -10,12 +10,13 @@ INCLUDES= -I$(srcdir)/Include -I$(blddir) DEFINES= -DHAVE_CONFIG_H CFLAGS= $(OPT) $(DEFINES) $(INCLUDES) -# Libraries -# XXX edit MODLIBS, LIBS and SYSLIBS to match $(blddir)/Modules/Makefile +# Libraries (must be in this order!) MYLIBS= $(blddir)/Modules/libModules.a \ $(blddir)/Python/libPython.a \ $(blddir)/Objects/libObjects.a \ $(blddir)/Parser/libParser.a + +# XXX edit MODLIBS, LIBS and SYSLIBS to match $(blddir)/Modules/Makefile MODLIBS= LIBS= SYSLIBS= -lm diff --git a/Demo/embed/README b/Demo/embed/README index 62b6513..8858c71 100644 --- a/Demo/embed/README +++ b/Demo/embed/README @@ -1,6 +1,6 @@ -This directory show how easy it is to embed the Python interpreter in -your own application. The file demo.c shows you all that is needed in -your C code. +This directory show how to embed the Python interpreter in your own +application. The file demo.c shows you all that is needed in your C +code. To build it, you may have to edit the Makefile: diff --git a/Demo/embed/demo.c b/Demo/embed/demo.c index b1adde2..418b225 100644 --- a/Demo/embed/demo.c +++ b/Demo/embed/demo.c @@ -1,6 +1,6 @@ /* Example of embedding Python in another program */ -#include "allobjects.h" +#include "Python.h" static char *argv0; @@ -12,21 +12,21 @@ main(argc, argv) argv0 = argv[0]; /* Initialize the Python interpreter. Required. */ - initall(); + Py_Initialize(); /* Define sys.argv. It is up to the application if you want this; you can also let it undefined (since the Python code is generally not a main program it has no business touching sys.argv...) */ - setpythonargv(argc, argv); + PySys_SetArgv(argc, argv); /* Do some application specific code */ printf("Hello, brave new world\n\n"); /* Execute some Python statements (in module __main__) */ - run_command("import sys\n"); - run_command("print sys.builtin_module_names\n"); - run_command("print sys.argv\n"); + PyRun_SimpleString("import sys\n"); + PyRun_SimpleString("print sys.builtin_module_names\n"); + PyRun_SimpleString("print sys.argv\n"); /* Note that you can call any public function of the Python interpreter here, e.g. call_object(). */ @@ -35,10 +35,11 @@ main(argc, argv) printf("\nGoodbye, cruel world\n"); /* Exit, cleaning up the interpreter */ - goaway(0); + Py_Exit(0); /*NOTREACHED*/ } +/* This function is called by the interpreter to get its own name */ char * getprogramname() { |