亚洲av成人无遮挡网站在线观看,少妇性bbb搡bbb爽爽爽,亚洲av日韩精品久久久久久,兔费看少妇性l交大片免费,无码少妇一区二区三区

  免費(fèi)注冊(cè) 查看新帖 |

Chinaunix

  平臺(tái) 論壇 博客 文庫(kù)
最近訪問(wèn)板塊 發(fā)新帖
查看: 3488 | 回復(fù): 1
打印 上一主題 下一主題

Cython參考指南 – 編譯 [復(fù)制鏈接]

論壇徽章:
0
跳轉(zhuǎn)到指定樓層
1 [收藏(0)] [報(bào)告]
發(fā)表于 2009-11-19 15:11 |只看該作者 |倒序?yàn)g覽
譯文地址:http://chenxiaoyu.org/blog/archives/60

Cython代碼跟Python不一樣,必須要編譯。

編譯經(jīng)過(guò)兩個(gè)階段:

* Cython編譯.pyx文件為.c文件

* C編譯器會(huì)把.c文件編譯成.so文件(Windows上是.pyd)

以下會(huì)分節(jié)介紹幾種方式來(lái)建立你的擴(kuò)展模塊。

注意: -a 選項(xiàng),如果使用該選項(xiàng)將會(huì)為.c文件生成一份很漂亮的HTML文件,雙擊高亮的章節(jié)部分會(huì)展開(kāi)代碼,這對(duì)理解,優(yōu)化和調(diào)試模塊將會(huì)非常有幫助。

命令行

從命令行執(zhí)行Cython編譯器,輸入選項(xiàng)和.pyx文件列表。

$ cython -a yourmod.pyx

會(huì)生成一個(gè)yourmod.c文件(指定-a選項(xiàng)會(huì)生成一個(gè)HTML文件)

編譯.c文件取決于你的操作系統(tǒng),請(qǐng)參考下如何在你的系統(tǒng)寫Python擴(kuò)展模塊文檔。

下面是一個(gè)Linux系統(tǒng)的例子:

$ gcc -shared -pthread -fPIC -fwrapv -O2 -Wall -fno-strict-aliasing \
-I/usr/include/python2.5 -o yourmod.so yourmod.c

gcc需要提供包含的文件和擴(kuò)展庫(kù)的鏈接。

在目錄里會(huì)生成yourmod.so文件。

現(xiàn)在只需要導(dǎo)入你的yourmod模塊就可以了。

Distutils

確保你的系統(tǒng)已經(jīng)安裝好Distutils。

下面假設(shè)需要編譯的文件叫hello.pyx。

建立一個(gè)setup.py的腳本:

from distutils.core import setup
from distutils.extension import Extension
from Cython.Distutils import build_ext

ext_modules = [Extension("hello", ["hello.pyx"])]

setup(
    name = ’Hello world app’,
    cmdclass = {’build_ext’: build_ext},
    ext_modules = ext_modules
)

在命令行執(zhí)行:python setup.py build_ext –inplace

現(xiàn)在可以在shell或者腳本里正常導(dǎo)入使用了。

Pyximport

在純Python代碼里調(diào)用Cython代碼:

>>> import pyximport; pyximport.install()
>>> import helloworld
Hello World

這僅僅是簡(jiǎn)單調(diào)用Cython,不需要C庫(kù)也不需要構(gòu)建腳本。

當(dāng)然也可以實(shí)驗(yàn)性的在Python調(diào)用。允許在Python模塊中運(yùn)行Cython代碼在任何一個(gè).pyx和.py模塊。這包
括標(biāo)準(zhǔn)庫(kù)和包。如果Cython編譯失敗的話,pyximport會(huì)返回到加載失敗的模塊處。

.py安裝是這樣:

>>> pyximport.install(pyimport = True)

原文:http://docs.cython.org/src/reference/compilation.html

[ 本帖最后由 smallfish_xy 于 2009-11-19 15:12 編輯 ]

論壇徽章:
0
2 [報(bào)告]
發(fā)表于 2009-11-19 15:32 |只看該作者
拜LZ

目前正咕咚這玩意兒
您需要登錄后才可以回帖 登錄 | 注冊(cè)

本版積分規(guī)則 發(fā)表回復(fù)

  

北京盛拓優(yōu)訊信息技術(shù)有限公司. 版權(quán)所有 京ICP備16024965號(hào)-6 北京市公安局海淀分局網(wǎng)監(jiān)中心備案編號(hào):11010802020122 niuxiaotong@pcpop.com 17352615567
未成年舉報(bào)專區(qū)
中國(guó)互聯(lián)網(wǎng)協(xié)會(huì)會(huì)員  聯(lián)系我們:huangweiwei@itpub.net
感謝所有關(guān)心和支持過(guò)ChinaUnix的朋友們 轉(zhuǎn)載本站內(nèi)容請(qǐng)注明原作者名及出處

清除 Cookies - ChinaUnix - Archiver - WAP - TOP