c可以调用python吗

c可以调用python吗,第1张

可以的。

C中内嵌Python

新建立一个工程,首先需要将工作目录设置到Python-3.1.1PCbuild中,以获取到动态库,至于静态库蔽握岩的包含,Include目录的指定,那自然也是少不了的。文件中需要包含Python.h文件,这也是皮缺必须的。

接口中

Py_Initialize()

Py_Finalize()

其宏御他的根据需求,再引入相应的python builder 即可

ctypes:  可直接调用c语言动态链接库

使用步骤:

1>编译好自己的动态连接库

2>利用ctypes载入动态连接库

3>用ctype调用C函数接口时,需要将python变量类型做转换后才能作为函数参数,转换原则见下图:

4>Python若想获取ctypes调用的C函数返回值,需要先指定返回值类型。我们将在接下来的完整Sample中看到如何使用。

#Step 1:  test.c#include <stdio.h>

int add(int a, int b)

{

    return a + b

}#Step 2: 编译动态链接库 ( 如何编译动态链接库在本文不详解拦核派,网上资料一大堆。)gcc -fPIC -shared test.c -o 简贺libtest.so  

#Step 3:  test.py

from ctypes import *mylib = CDLL("libtest.so")   或者   cdll.LoadLibrary("libtest.so")   add = mylib.add

add.argtypes = [c_int, c_int] # 参数类型,两个int(c_int是ctypes类型,见上表)

add.restype = c_int # 返氏携回值类型,int (c_int 是ctypes类型,见上表)

sum = add(3, 6)


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/12504689.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-25
下一篇 2023-05-25

发表评论

登录后才能评论

评论列表(0条)

保存