在来一个test.h:
最后在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)