next up previous contents index
Next: 2 Embedding Python in Up: Extending Python with C Previous: 1.10.5 NULL Pointers

Writing Extensions in C++

It is possible to write extension modules in C++. Some restrictions apply. If the main program (the Python interpreter) is compiled and linked by the C compiler, global or static objects with constructors cannot be used. This is not a problem if the main program is linked by the C++ compiler. All functions that will be called directly or indirectly (i.e. via function pointers) by the Python interpreter will have to be declared using extern "C"; this applies to all ``methods'' as well as to the module's initialization function. It is unnecessary to enclose the Python header files in extern "C" {...} -- they use this form already if the symbol `__cplusplus' is defined (all recent C++ compilers define this symbol).



guido@cnri.reston.va.us