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转化为C,代码执行速度会变快呢,实测加速不明显。看来,想要加速的话,还得优化下自动生成的C code啊。不过自动生成的C code,可读性不强,优化起来很慢,还是自己从头手写吧。

你可能感兴趣的:(python,python)