Python 调用 so

Python 调用 so,第1张

先来一个网上随游神纳便都能找得到的例子吧:先来神没一个test.c

在来一个test.h:

然后将其编译成.so文件

最后在python文件里面调用:

然后在终端运行:

嗯,python2的这个数字瞎仔精度的bug也是醉了

当然了,ctypes不是这样简单的模块,否则也不会放到标准库里面去

(未完待续。。。)

1、背景消睁

linux下将py编译成so,编译的so文件起到加密的作用,但注意有如下问题

问题1:so文件体积膨胀,比如原来py2so.py的794B,编译后的py2so.so有179.3KB;

问题2:肢友打历桥槐包后的so文件跟原来的py脚本一样,依赖的python环境相同。

问题3:不同系统生成的so文件,可能不兼容,如:ubuntu系统中生成的so无法在MacOS中使用的。

建议:py编译so的 *** 作系统、python版本与最后的部署环境一致。

linux下将py编译成so,需要依赖gcc以及Cython。

1.1 查看gcc版本信息

gcc --version

root@iZu2Z:~# gcc --version

gcc (Ubuntu 7.4.0-1ubuntu1~18.04)

将其拷贝到python系统路径 /usr/lib/python2.7/site-packages/test

在test目录散凯誉下创建 init .py 与 test.py 文件

上面使用 gcc 将 py 编译成孙芦 so,下面直接使用冲段 python 自带的setup.py 来编译 so


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

原文地址: http://outofmemory.cn/tougao/12215652.html

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

发表评论

登录后才能评论

评论列表(0条)

保存