文档章节

使用Cython为Python写扩展-HelloWorld

wangxuwei
 wangxuwei
发布于 2017/05/22 15:33
字数 123
阅读 28
收藏 0

 

一、安装

sudo apt-get install python-dev
sudo apt install cython

二、代码

$ cat hello.pyx 

print("你好Cython!")

$ cat Makefile

all:
	cython -3 -o hello.c hello.pyx
	gcc -g -O2 -fpic -c hello.c -o hello.o `python-config --cflags`
	gcc -g -O2 -shared -o hello.so hello.o `python-config --libs`

clean:
	rm hello.o hello.c hello.so

三、运行

$ make
cython -3 -o hello.c hello.pyx
gcc -g -O2 -fpic -c hello.c -o hello.o `python-config --cflags`
gcc -g -O2 -shared -o hello.so hello.o `python-config --libs`
mymotif@mymotif-ThinkPad-X240:~/prg/mypython/cpyhello$ python
Python 2.7.12 (default, Nov 19 2016, 06:48:10) 
[GCC 5.4.0 20160609] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import hello
你好Cython!
>>> 

 

© 著作权归作者所有

共有 人打赏支持
wangxuwei
粉丝 23
博文 332
码字总数 115120
作品 0
杭州
其他
Python 与 C/C++ 交互的几种方式

python作为一门脚本语言,其好处是语法简单,很多东西都已经封装好了,直接拿过来用就行,所以实现同样一个功能,用Python写要比用C/C++代码量会少得多。但是优点也必然也伴随着缺点(这是肯...

吴金瑞
06/26
0
0
C/C++ 和 Python混合编程

链接:https://www.zhihu.com/question/23003213/answer/56121859 来源:知乎 著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。 #include int main(int argc, char *...

sirius_0
04/21
0
0
python与c/c++相互调用

例一:ctypes pycall.c /**gcc -o libpycall.so -shared -fPIC pycall.c/ include <stdio.h> include <stdlib.h> int foo(int a, int b) { printf("you input %d and %dn", a, b); return a+......

wangxuwei
2016/04/08
108
0
python的c语言扩展方法简介

原文地址:[http://www.isnowfy.com/introduction-to-python-c-extension/] python是一门非常方便的动态语言,很多你用c或者java要很多行的代码,可能python几行就搞定了,所以python社区一...

openthings
2015/01/21
0
2
比Python快100倍,利用Cython实现高速NLP项目

选自Medium,作者:Thomas Wolf,机器之心编译。 相关 Jupyter Notebook 地址:github.com/huggingface… 去年我们发布 Python 包 coreference resolution package 后,我们收到了来自社区的...

07/16
0
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

人生苦短:Python里的17个“超赞操作

人生苦短,我选Python”。那么,你真的掌握了Python吗? 1. 交换变量 有时候,当我们要交换两个变量的值时,一种常规的方法是创建一个临时变量,然后用它来进行交换。比如: # 输入 a = 5 b ...

糖宝lsh
45分钟前
4
0
咕泡-spring中常用设计模式概述

设计模式就是经验之谈,供后人借鉴,解决一些具有代表性的问题 设计模式来源于生活,反过来帮助我们更好生活 设计模式提升代码的可读性、可扩展性、维护成本、复杂业务问题 千万不要死记硬背...

职业搬砖20年
今天
2
0
day59-20180817-流利阅读笔记-待学习

假·照骗,真·社交焦虑 雪梨 2018-08-17 1.今日导读 发朋友圈之前,不少人为了展现更美好的生活状态会对照片加以“微调”,或是加个滤镜显得逼格更高,或是磨个皮瘦个脸拉个大长腿。现在,国...

aibinxiao
今天
23
0
OSChina 周五乱弹 —— 姑娘在这个节日里表白你接受么?

Osc乱弹歌单(2018)请戳(这里) 【今日歌曲】 @Sharon啊:完全被这个小姐姐圈粉了,学两首她的歌去哈哈 分享王贰浪的单曲《往后余生(翻自 马良)》 《往后余生(翻自 马良)》- 王贰浪 手...

小小编辑
今天
1K
16
为什么HashMap要自己实现writeObject和readObject方法?

为什么HashMap要自己实现writeObject和readObject方法? 如果你有仔细阅读过HashMap的源码,那么你一定注意过一个问题:HashMap中有两个私有方法。 private void writeObject(java.io.Objec...

DemonsI
今天
0
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部