python学习笔记--使用ctypes调用C函数

来源:互联网 发布:退出淘宝客 之前的链接 编辑:程序博客网 时间:2024/05/24 08:33
将C文件编译成共享库
将下面代码保存为sam.c
//sam.c#include <stdio.h>int add(int a,int b){    return a+b;}
用gcc编译成.so文件
>gcc -fpic -c sam.c
>gcc --shared -fpic -o sam.so sam.o
之后可以调用C函数
>>> from ctypes import cdll>>> lib = cdll.LoadLibrary('F:\\sam.so')>>> lib.add(10,20)30

>>>import ctypes>>>from ctypes import cdll>>>lib = cdll.LoadLibrary('F:\\sam.so')>>>_add=lib.add  #int add(int,int)</span>>>>_add.argtypes=(ctypes.c_int,ctypes.c_int)  #如果add只有一个参数,应改为_add.argtype=......>>>_add(10,20)30
如果执行import sam出错请用sys.path.insert方法将sam所在路径导入。


0 0