SWIG-python的numpy参数传入C函数

本文介绍了如何利用SWIG将Python中的numpy矩阵直接传入C语言编写的函数。通过numpy.i文件,SWIG能够将numpy格式转换为C可接受的数组类型。在Ubuntu上,可以安装python-numpy后,使用SWIG和setup.py来编译并运行示例程序。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

SWIG-python的numpy参数传入C函数

简介

由于python需要调用c语言写的函数,且最好直接传入numpy的矩阵。
经查询,numpy直接提供一个numpy.i(swig配置格式)的文件供swig使用,可以将numpy格式转换成C可用的数组格式。

  • numpy获取地址:https://github.com/numpy/numpy
  • numpy.i在目录中位置:numpy/tools/swig
  • numpy在 ubuntu 上安装: apt-get install python-numpy

我的程序如下:
setup.py:

#!/usr/bin/python
from distutils.core import setup, Extension

convolutionquantized_3x3_test_module = 
            Extension('_convolutionquantized_3x3_test',
            library_dirs=['./'],
            libraries=['ncnn'],
            sources=['convolutionquantized_3x3_test_wrap.cxx'] )

setup (name = 'convolutionquantized_3x3_test',
       version = '0.1',
       author      = "lb",
       description = """for test""",
       ext_modules = [convolutionquantized_3x3_test_module],
       py_modules = ["convolutionquantized_3x3_test"],)

runme.py:


                
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值