Mac下Python调用C动态库
利用 ctypes 模块调用 C 共享库
ctypes 是 Python 标准库提供的一个模块,Python 2.3 版本以上支持该模块。ctypes 是 Python 高级外部函数接口,Python 通过它可以调用 C 语言编译的静态链接库和动态链接库。ctypes 支持多个平台,包括 Windows, Windows CE, Mac OS X, Linux, Solaris, FreeBSD, OpenBSD。
1)编写C代码
#include <stdio.h>
int add(int x, int y){
return (x+y);
}
2)编译动态链接库
gcc add.c -fPIC -shared -o libAdd.so
or
gcc -fPIC -shared -o libAdd.so add.c
3)phthon导入动态链接库,调用C函数
#encoding:utf-8
__author__ = 'Aaron'
import ctypes
so = ctypes.CDLL("/Users/Aaron/百度云同步盘/私家菜园/Demo/python/libAdd.so");
num = so.add(7,9)
print num
利用 ctypes 模块调用 C 共享库
ctypes 是 Python 标准库提供的一个模块,Python 2.3 版本以上支持该模块。ctypes 是 Python 高级外部函数接口,Python 通过它可以调用 C 语言编译的静态链接库和动态链接库。ctypes 支持多个平台,包括 Windows, Windows CE, Mac OS X, Linux, Solaris, FreeBSD, OpenBSD。
1)编写C代码
#include <stdio.h>
int add(int x, int y){
return (x+y);
}
2)编译动态链接库
gcc add.c -fPIC -shared -o libAdd.so
or
gcc -fPIC -shared -o libAdd.so add.c
3)phthon导入动态链接库,调用C函数
#encoding:utf-8
__author__ = 'Aaron'
import ctypes
so = ctypes.CDLL("/Users/Aaron/百度云同步盘/私家菜园/Demo/python/libAdd.so");
num = so.add(7,9)
print num