众所周知的真理—
.so文件的编译确实费了不少力气,主要是对gcc编译知识的缺乏,网上的资料大多抄袭,源头错了,下游全部都是错的,在不断地百度之后,发现了一个可以用来编译.so的方法,特记录下来。 例:c源程序为 getSum.c,则有:
gcc -shared -fPIC -DPIC getSum.c -o getSum.so
即可以将c源文件编译成可供python调用的so库文件,赶紧来享受c带来的性能飚升的体验吧,ps:对ctypes不是很了解,正在学习中,又重新燃起对c语言学习的激情了。
注:此编译仅限
一个例子:
getSum.c
#include
int getSum()
{
int sum = 0;
int a,b;
for(a=0;a<=100;a++)
{
sum += a;
}
return sum;
}
编译.so库文件
gcc -shared -fPIC -DPIC getSum.c -o getSum.so
ctypedemo.py文件调用
# -*- coding: utf-8 -*-
from ctypes import CDLL
lib = CDLL("./getSum.so")
print(lib.getSum())