文档章节

使用Cython为Python写扩展-HelloWorld

wangxuwei
 wangxuwei
发布于 2017/05/22 15:33
字数 123
阅读 29
收藏 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
粉丝 24
博文 332
码字总数 115454
作品 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/C++ 交互的几种方式

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

吴金瑞
06/26
0
0
Cython 三分钟入门

作者:perrygeo 译者:赖勇浩(http://laiyonghao.com) 原文:http://www.perrygeo.net/wordpress/?p=116 我最喜欢的是Python,它的代码优雅而实用,可惜纯粹从速度上来看它比大多数语言都要...

鉴客
2012/02/23
8.7K
4
Python, C-Python, Cython代码与GIL的交互

这篇笔记相对Python来说,有点底层,先来解释几个名词: C-Python: 或者CPython,指C实现的Python虚拟机的基础API。最通用的Python就是是基于C实现的,它的底层API称为C-Python API,所有Pyt...

鉴客
2012/02/23
4K
0
国内有人有这水平么?

膜拜这哥们一下 其实本人 c,c++,python,php,javascript,cython,go 都会写,还会c#,java 以上全部都写过 都只是写过helloworld程序。...

sidney9111
2015/03/19
874
5

没有更多内容

加载失败,请刷新页面

加载更多

CPU性能过剩提升乏力影响未来行业发展吗?

虽然CPU仍然在不断发展,但是它的性能已经不再仅仅受限于单个处理器类型或制造工艺上了。和过去相比,CPU性能提升的步伐明显放缓了,接下来怎么办,成为横亘在整个行业面前的大问题。 自201...

linuxCool
18分钟前
0
0
使用Autowired和Qualifier解决多个相同类型的bean如何共存的问题

注意: 实现类UserServiceImpl,MyUserServiceImpl 需要区分:@Service("userServicel") @Service("myUserService") https://blog.csdn.net/russle/article/details/80287763......

qimh
52分钟前
3
0
SQL 语句使用to_char函数时,检索结果有空格

小疯在使用Oracle过程中,使用to_char函数检索表数据时发现检索结果前面会有一个空格,对后续开发有影响。问题很好解决,比较直接对可以做一下trim处理。但是小疯很疑惑为什么会有空格呢,于...

野小疯
53分钟前
3
0
对接比特币钱包的PHP开发包

BtcTool是一个基于第三方服务和离线裸交易实现的PHP比特币应用开发包,适合不希望部署本地 节点旳PHP开发者,开发包主要包含以下特性: 利用第三方服务获取指定地址的utxo集合 离线生成消费裸...

汇智网教程
今天
2
0
【自用】 VHD to VHDX

VHDX: 在VHD 2TB 的基础上提供 64TB的容量。 支持逻辑扇区大小为 4KB,和每块的大小为 256MB,来优化虚拟磁盘性能。 比VHD提供更高的安全性、可靠性和性能。 convert-VHD –path d:\Hyper-v...

Tensor丨思悟
今天
3
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部