如何为Python制作C++库

2 投票
1 回答
2054 浏览
提问于 2025-04-18 13:31

我刚开始学习面向对象编程,正在努力寻找一个好的教程,想知道如何在C++中制作一个可以导入到Python的库。

目前我只是想做一个简单的例子,计算两个数字的和。但我对这个过程有些困惑。简单来说,我希望在Python中能做到这样的事情:

import MyCPPcode

MyCPPcode.Add(5,3) #function prints 5+3=8

我并不要求提供完整的代码示例,只想知道我需要采取的步骤。我需要制作一个.dll文件还是一个静态库?我使用的是MS Visual Studio 2013。

另外,这个过程会以某种方式调整C++库的代码以适应Python吗,还是说这个库也可以用于其他语言?

1 个回答

3

虽然我不能详细指导你整个过程,因为我对Python了解得不太多,但我可以告诉你一些我知道的事情:

这是完全可行的。不过这并不适合刚接触面向对象编程的人,这个过程叫做Python-C/C++ API。如果你在Python的文档中搜索这个,你会找到好几章相关的内容。

你提到的示例函数看起来像是Python的,但在C++中,整个过程要复杂得多(在背后处理的部分)。有一些工具可以帮助解决这个问题,比如Cython,但如果你想学习的话,我建议你先从纯Python API开始。

至于和其他语言的兼容性……内部函数(比如说加两个数字)当然是通用的C++,所以你可以在其他项目中重用它们,但创建的库主要是为了和Python一起使用,而不是其他语言。

撰写回答