Python3:与C/C++语言的混合编程

本文介绍了如何在Python3中与C/C++进行混合编程,包括安装python3-dev,编写C语言功能实现、Python接口、接口映射函数和模块初始化函数,以及创建setup.py文件用于编译。通过执行特定命令编译后,生成的C语言模块可以在Python中直接调用,实现了Python和C/C++的高效协作。
摘要由CSDN通过智能技术生成

python3与C/C++语言混合编程,是一个常用的协作方式,可以结合Python3的方便及强大的库与C/C++的高效与快捷。

混合编程时C语言文件需要提供以下几部分的支持:

  1. 包含Python.h,对此需要通过:sudo apt-get install python3-dev 进行安装
  2. C语言的功能实现函数
  3. Python的模块接口
  4. Python的接口映射函数
  5. Python模块的初始化函数
//func.c

#include <Python.h>    //包含Python.h头文件,以引入python的数据结构
#include <stdio.h>

#define NULL 0

//C语言的功能实现函数
static int do_add(int a, int b)
{
    int sum = a + b;
    printf("c call do_add, %d + %d = %d\n", a, b, sum);
    return sum;
}

//Python的模块接口函数
static PyObject* add(PyObject *self, PyObject *args)
{
    int a = 0, b = 0;
    if(!PyArg_ParseTuple(args, "ii", &a, &b))    //通过PyArg_ParseTuple获得Python模块调用时,传递的函数参数
    {
        return NULL;
    }
    int result = do_add(a, b);                    //调用C语言功能实现函数,完成具体的功能
 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

风静如云

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值