\contentsline {chapter}{\numberline {1}Extending Python with C or C\raisebox {.18ex}{++}{} code}{1}
\contentsline {section}{\numberline {1.1}Introduction}{1}
\contentsline {section}{\numberline {1.2}A first look at the code}{1}
\contentsline {section}{\numberline {1.3}Intermezzo: errors and exceptions}{3}
\contentsline {section}{\numberline {1.4}Back to the example}{4}
\contentsline {section}{\numberline {1.5}The module's function table}{5}
\contentsline {section}{\numberline {1.6}Compilation and linkage}{6}
\contentsline {section}{\numberline {1.7}Calling Python functions from C}{6}
\contentsline {section}{\numberline {1.8}Format strings for {\ptt getargs()}}{9}
\contentsline {section}{\numberline {1.9}The {\ptt mkvalue()} function}{12}
\contentsline {section}{\numberline {1.10}Reference counts}{12}
\contentsline {section}{\numberline {1.11}Writing extensions in C\raisebox {.18ex}{++}{}}{13}
\contentsline {chapter}{\numberline {2}Embedding Python in another application}{14}
\contentsline {section}{\numberline {2.1}Embedding Python in C\raisebox {.18ex}{++}{}}{14}
\contentsline {chapter}{\numberline {3}Dynamic Loading}{15}
\contentsline {section}{\numberline {3.1}Configuring and building the interpreter for dynamic loading}{15}
\contentsline {subsection}{\numberline {3.1.1}Shared libraries}{15}
\contentsline {subsection}{\numberline {3.1.2}SGI dynamic loading}{16}
\contentsline {subsection}{\numberline {3.1.3}GNU dynamic loading}{16}
\contentsline {section}{\numberline {3.2}Building a dynamically loadable module}{17}
\contentsline {subsection}{\numberline {3.2.1}Shared libraries}{17}
\contentsline {subsection}{\numberline {3.2.2}SGI dynamic loading}{18}
\contentsline {subsection}{\numberline {3.2.3}GNU dynamic loading}{18}
