python - 如何在 Python 中调用 C 代码来进行两种语言的交互?
问题描述
我正在做一个项目,我试图在其中进行交互 C 代码和 Python。这意味着我想在 Python 中调用 C 代码。我用谷歌搜索了它,但解决方案对我来说是无法理解的。
有什么方法可以做到这一点?
解决方案
您必须将您的 c 代码编译为共享库,并且您将能够使用 python 的ctypes
API 调用函数。这是一个关于如何做到这一点的简单示例。
库文件
__declspec(dllexport) int add(int a, int b);
int add(int a, int b) {
return a + b;
}
编译(这里使用 msvc)
cl /LD lib.c
应用程序.py
from ctypes import *
lib = cdll.LoadLibrary('lib.dll')
print(lib.add(1, 2)) ## this will print 3
有关更多信息,请参阅:
https ://docs.python.org/3/library/ctypes.html
如何使用 Python 中的 DLL 文件?
https://www.youtube.com/watch?v=p_LUzwylf-Y&t=277s
推荐阅读
- c# - 使用 Linq 获取不同的属性
- php - 如何以只读模式打开项目?
- ruby-on-rails - Rails Grape ActionController::RoutingError (没有路由匹配 [GET] "/api/v1/user_locations"):
- zebra-printers - 我想使用 ZPL 从 Zebra 打印机的标签右上角打印增量计数
- c# - C#无法从导入的库中反序列化类的对象
- powershell - 从自定义属性中列出的每个 CN 获取电子邮件地址
- html - HTML/VBA 在特定时间自动发送电子邮件
- python - 分层组 Django 查询
- r - 使用 ifelse 有条件地在 tidyr r 中使用单独
- google-cloud-platform - GSuite OAuth 客户端 ID