2011-09-24 03:34:55 +08:00
|
|
|
PyCXX is designed to make it easier to extend Python with C++
|
|
|
|
|
2022-03-14 23:09:20 +08:00
|
|
|
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
|
2011-09-24 03:34:55 +08:00
|
|
|
play with Python containers such as lists and tuples.
|
2022-03-14 23:09:20 +08:00
|
|
|
|
|
|
|
The optional CXX/Extensions facility allows you to replace the clumsy C
|
2011-09-24 03:34:55 +08:00
|
|
|
tables with objects and method calls that define your modules and
|
|
|
|
extension objects.
|
|
|
|
|
2022-03-14 23:09:20 +08:00
|
|
|
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.
|