python|python转C


文章目录

  • 前言
  • 步骤
    • 1. 确认你安装了cython和gcc
    • 2. python转C
    • 3. 编译C生成可执行文件
    • 4. run
  • 总结

前言 人生苦短,我用python。我用python快速写好了代码实现了功能,很开心。想与人分享喜悦,又不甘心公开源码,怎么办。不如,把python转成C,再生成可执行文件吧。
步骤 1. 确认你安装了cython和gcc linux环境下,which一下,安装了,妥妥的。没安装的话google/baidu一下。
[xxx]$ which cython /usr/bin/cython [xxx]$ which gcc /usr/bin/gcc

2. python转C
[xxx]$ cython hello_world.py --embed

哦豁,生成了hello_world.c。
3. 编译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

4. run 执行一下试试,可以的
[xxx]$ hello_world hello world!

总结 【python|python转C】本以为python转化为C,代码执行速度会变快呢,实测加速不明显。看来,想要加速的话,还得优化下自动生成的C code啊。不过自动生成的C code,可读性不强,优化起来很慢,还是自己从头手写吧。

    推荐阅读