人生苦短,我用python。我用python快速写好了代码实现了功能,很开心。想与人分享喜悦,又不甘心公开源码,怎么办。不如,把python转成C,再生成可执行文件吧。
linux环境下,which一下,安装了,妥妥的。没安装的话google/baidu一下。
[xxx]$ which cython
/usr/bin/cython
[xxx]$ which gcc
/usr/bin/gcc
[xxx]$ cython hello_world.py --embed
哦豁,生成了hello_world.c。
采用以下命令编译C文件。
[xxx]$ gcc `python-config --includes` `python-config --cflags` `python-config --ldflags` hello_world.c -o hello_world
有可能报错,找不到include的.h文件,这时可以到.c里手动修改下路径哇,写完整路径就可以啦。完整路径就是python-config --includes的路径。
[xxx]$ python-config --include
-I/usr/include/python2.7 -I/usr/include/python2.7
执行一下试试,可以的
[xxx]$ hello_world
hello world!
本以为python转化为C,代码执行速度会变快呢,实测加速不明显。看来,想要加速的话,还得优化下自动生成的C code啊。不过自动生成的C code,可读性不强,优化起来很慢,还是自己从头手写吧。