【文件属性】:
文件名称:程序员为什么还要刷题-cython_swig:cython_swig
文件大小:18KB
文件格式:ZIP
更新时间:2021-07-07 14:45:47
系统开源
程序员常刷题Cython
与
SWIG,战斗!
作者:
马克·科勒
日期:
2013-03-16
为
Python
包装
C
库
您好,欢迎来到
Cython
vs
SWIG,战斗!
这个演讲是关于当你意识到并非所有东西都在标准库中时会发生什么。
事实上,可能有些你想要的东西甚至在
CHEESE
店都买不到。
如果您想要使用
Python
中的
C
库,那么您很幸运,因为
CYTHON
和
SWIG
是通过包装
C
库来构建
Python
扩展模块的出色工具。
但是,如果它们都非常出色,您应该使用哪一个?
为了回答这个问题,我们将用
Cython
和
SWIG
包装同一个库,比较过程和结果,然后你就可以决定了。
预战
导入语句
加载器
传递整数
传递结构
C字符串
内存管理
概括
为了开始这次演讲,我将快速讨论
Python
导入语句及其隐藏的内容。
然后我们将创建一个非常简单的库并使用
Python
包装它,首先使用
SWIG,然后使用
Cython。
我们将继续向该库添加函数,并使这些函数可从
Python
访问。
在我们这样做时,请考虑您更喜欢
SWIG
方式还是
Cython
【文件预览】:
cython_swig-master
----.gitignore(445B)
----build.sh(416B)
----libadder()
--------adder.c(1KB)
--------adder.h(372B)
----minunit()
----.gitmodules(80B)
----README.rst(29KB)
----m4()
--------.gitignore(0B)
----c()
--------test_adder.c(2KB)
----set_env.sh(51B)
----slide_builder.sh(74B)
----cython()
--------cy_adder.pyx(834B)
--------setup.py(461B)
--------test_cython_adder.py(1KB)
--------c_adder.pxd(348B)
----configure.ac(451B)
----requirements.txt(20B)
----swig()
--------test_swig_adder.py(1KB)
--------adder.i(473B)
--------setup.py(404B)
----Makefile.am(641B)
----test_extensions.sh(154B)