2 回答

TA貢獻(xiàn)1942條經(jīng)驗(yàn) 獲得超3個(gè)贊
如果您可以使用 Pythran 裝飾器編譯代碼(并不總是那么容易),那么獲取 C++ 代碼非常簡(jiǎn)單:
pythran -e my-module.py
下面鏈接的文章不知何故作者說(shuō)了一些關(guān)于不必裝飾任何東西的事情。這里不確定。
但是是的,它會(huì)為您提供大量模板化的 C++ 代碼,可能帶有 NumPy DLL 依賴項(xiàng),也可能是 Python DLL(顯然當(dāng)不制作 Python 模塊時(shí),您可以跳過(guò)此部分)??赡苁且溄拥?OpenBLAS 或 MKL 庫(kù),也可能是 OpenMP 庫(kù)。當(dāng)然,如果您正確編碼,您可以以某種方式避免所有這些 DLL,盡管您不會(huì)獲得巨大的加速。祝你閱讀順利,它不是很清晰。但是,嘿,它是一個(gè)依賴于大量 Pythran 模板的 .cpp 文件......
我不會(huì)使用 Pythran 來(lái)生成您在其他項(xiàng)目中使用的 C++ 代碼;它的主要目的是制作快速的 Python 模塊。但我想因?yàn)樯?.cpp 文件很容易。但是自動(dòng)生成的代碼總是有點(diǎn)難以理解,因?yàn)槟銜?huì)得到 typedef 變量,比如 type __type0 到 type __type200 或類似的東西,一個(gè)聲明可能會(huì)引用其中的 5 個(gè)變量。這并不是要貶低 Pythran 的美感和功能。這是一個(gè)很棒的項(xiàng)目。

TA貢獻(xiàn)1864條經(jīng)驗(yàn) 獲得超6個(gè)贊
Jean Laroche 的博客文章實(shí)現(xiàn)了您想要做的事情:https ://serge-sans-paille.github.io/pythran-stories/pythran-as-a-bridge-between-fast-prototyping-and-code -deployment.html
添加回答
舉報(bào)