home *** CD-ROM | disk | FTP | other *** search
/ OS/2 Shareware BBS: 10 Tools / 10-Tools.zip / pyth_os2.zip / python-1.0.2 / Demo / embed / demo.c next >
C/C++ Source or Header  |  1994-01-18  |  1KB  |  47 lines

  1. /* Example of embedding Python in another program */
  2.  
  3. #include "allobjects.h"
  4.  
  5. static char *argv0;
  6.  
  7. main(argc, argv)
  8.     int argc;
  9.     char **argv;
  10. {
  11.     /* Save a copy of argv0 */
  12.     argv0 = argv[0];
  13.  
  14.     /* Initialize the Python interpreter.  Required. */
  15.     initall();
  16.  
  17.     /* Define sys.argv.  It is up to the application if you
  18.        want this; you can also let it undefined (since the Python 
  19.        code is generally not a main program it has no business
  20.        touching sys.argv...) */
  21.     setpythonargv(argc, argv);
  22.  
  23.     /* Do some application specific code */
  24.     printf("Hello, brave new world\n\n");
  25.  
  26.     /* Execute some Python statements (in module __main__) */
  27.     run_command("import sys\n");
  28.     run_command("print sys.builtin_module_names\n");
  29.     run_command("print sys.argv\n");
  30.  
  31.     /* Note that you can call any public function of the Python
  32.        interpreter here, e.g. call_object(). */
  33.  
  34.     /* Some more application specific code */
  35.     printf("\nGoodbye, cruel world\n");
  36.  
  37.     /* Exit, cleaning up the interpreter */
  38.     goaway(0);
  39.     /*NOTREACHED*/
  40. }
  41.  
  42. char *
  43. getprogramname()
  44. {
  45.     return argv0;
  46. }
  47.