28 lines
1.6 KiB
Plaintext
28 lines
1.6 KiB
Plaintext
PyCXX is designed to make it easier to extend Python with C++
|
|
|
|
CXX/Objects is a set of C++ facilities to make it easier to write Python
|
|
extensions. The chief way in which PyCXX makes it easier to write Python
|
|
extensions is that it greatly increases the probability that your program
|
|
will not make a reference-counting error and will not have to continually
|
|
check error returns from the Python C API. CXX/Objects integrates Python
|
|
with C++ in these ways:
|
|
+ C++ exception handling is relied on to detect errors and clean up. In a
|
|
complicated function this is often a tremendous problem when writing in C.
|
|
With PyCXX, we let the compiler keep track of what objects need to be
|
|
dereferenced when an error occurs.
|
|
+ The Standard Template Library (STL) and its many algorithms plug and
|
|
play with Python containers such as lists and tuples.
|
|
+ The optional CXX/Extensions facility allows you to replace the clumsy C
|
|
tables with objects and method calls that define your modules and
|
|
extension objects.
|
|
|
|
The original source will install CXX source code needed to help building
|
|
python/C++ extension under /usr/share/python2.6/CXX which is a standard
|
|
Debian directory. As Slackware does not have /usr/share/python2.6, I
|
|
patched the installer to use /usr/share/CXX in order to follow the style of
|
|
stock python packages like pygobject or pygtk. Be aware, though, that
|
|
python packages that will use PyCXX will probably look for the needed files
|
|
under the Debian standard path! You should investigate if their setup.py
|
|
accept any switch to setup a different search path otherwise you will have
|
|
to patch them.
|