cython入门(hello cython)

开始主要写python的东西了,写习惯了JAVA和node.js,现在最不能适应的就是这语言实在是太慢了。。。慢的让人受不了。。。不过确实也有很爽的地方,python确实简单方便


由于现在涉及到的东西想要在gevent上做一层扩展,使得socket描述符可以跨进程在gevent的loop上注册。。。

python的socket由于没有sendmsg这些东西,所以这里就只有用到cython来做一下扩展了。。。


从最简单的开始吧,定义pyx文件,aa.pyx,内容如下:

cdef extern from"stdio.h":
	extern int printf(const char *format, ...) 

def addtest(a,b):
	printf("hello fjs\n")
	cdef float c=a+b
	return c

然后调用cython命令来进行编译:

cython aa.pyx 


编译可以得到aa.c文件,接下来调用gcc来进行编译:

 gcc -c aa.c -I /usr/include/python2.7/


 gcc -shared aa.o -lpython2.7 -o aa.so



这样子就可以编译得到aa.so文件了,直接就可以调用python的import来载入这个模块:

我们测试一下:

>>> import aa

>>> print aa.addtest(1, 2)

hello fjs

3.0


嗯。。好像挺简单的。。。基本用法懂了。。接下来的事情就是要解决最开始的需求了。。





评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值