Chapter 22. Extending and Embedding with Visual C++ and Delphi
Although there are many factors you could attribute to Python’s success, one is surely the ability to extend and embed Python in other languages. If there is anything Python itself can’t do, but can be done from other languages, there is a good chance you can build a Python interface to this other language.
In this chapter, we discuss how to extend Python using the C/C++ and Delphi languages. The topics we cover include:
Writing a Python extension in C (or compiling someone else’s) by hand
Using Simplified Wrapper and Interface Generator (SWIG) to make it easy to expose C and C++ libraries for use by Python
Embedding a Python interpreter in a C++ application
Dynamically calling DLLs without a C compiler
Delphi is another popular programming language that can operate at a low enough level to hook into Python at the C level, and a Delphi package exists to make this easier than the equivalent steps would be in C or C++. We also cover:
Embedding a Python interpreter in a Delphi application
Building a Python extension DLL in Delphi
When reading this chapter, you should keep in mind some capabilities offered by the Python COM framework, as we discussed in Chapter 12 . When Python is using COM objects, you could view this as extending Python, since the capabilities offered by the COM object are made available to Python. When you create a COM object using Python, it’s like embedding Python in another application: you make all the facilities ...