Es posible escribir módulos de extensión en C++, con restricciones.
Si el programa principal (el intérprete de Python) se compila y enlaza
con el compilador de C, no se pueden utilizar objetos globales o estáticos
con constructores. Este problema no se da si el programa principal
está compilado con el compilador de C++. Las funciones a las que llamará
el intérprete de Python (en particular, las de inicialización del módulo) se han de
declarar con extern "C"
. No es necesario encerrar los ficheros de cabecera
de Python entre extern "C" {...}
. Ya usan esta construcción si
está definido el símbolo "__cplusplus" (todos los compiladores de C++
recientes definen este símbolo).