Python3 如何使用C C 混合程式設計?

時間 2021-05-31 04:14:19

1樓:

python/C++混編我一直關注,自己也有這樣的需求,相關的解決方案我試過好幾種,直接使用python C API是最麻煩最難用的一種,除此以外,至少還有4種方法,都更好用更簡單。

1、跨語言的乙個通用解決方案是swig,有詳細的文件,是最容易想到的方法。我上一次用swig是十多年以前了,當時遇到的問題是long long型別要轉化成字串來傳遞,但是我們那個專案裡面有大量的long long,所以感覺swig不好用。

2、pyqt有乙個解決方案叫sip,它是專門為了把qt包裝給python而製作的。這個我沒有用過。

3、boost::python,在C++11之前幾乎是最好的解決方案了,雖然依賴boost,但是用靜態庫來編譯的話也是可以去除依賴的。

4、pybind11,基於C++11的既簡單又強大的程式庫,庫本身的結構簡單,上手也很簡單,有了它,之前的方法都可以不用了。幾分鐘就可以用起來,依賴性也是最小的,沒有更簡單的了。我的文章裡面有一篇介紹的,有興趣可以參考。

如何入門Python3?

小樓 自學一門程式語言往往會很枯燥,但這不是最難的。畢竟下了決心持之以恆也能咬牙堅持。比較難的是如何能夠很好的理解一門程式語言以及全面系統的打好基礎。charmpy.com 或http www.opython.com 2018年1月啟動本網域名稱 小學僧 學習python程式設計,先學會過程式程式設...

C 如何呼叫python3?

關心細節的魔鬼 據說ironpython可以做到 但是visual studiof的python外掛程式居然不直接支援ironpython,很詭異 北海若 using System using System.Collections.Generic using System.Linq using Sy...

我想學Python,結果買了Python3 4 3的書,可以在Python3 6 4上用嗎?

飛彈 可以的,不可能買下最新版本的!最好是和書上版本保持一致,這樣不至於被莫名其妙的錯誤搞暈!可以裝多個版本,用虛擬環境,挺好的 如果是開始學,可以忽略這個問題當你第一次發現結果和書上不一樣的時候,就看看每個版本的changelog,一直看到最新版就行了 路人 不同版本之間是有區別的,可能在舊版本適...