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 ...

Get Python Programming On Win32 now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.