簡體   English   中英

如何從 Python 代碼中導出 .so 符號

[英]How to export .so symbols from Python code

我需要在 Python 3.8 中編寫一些功能並遵守給定的 C++ 接口。 該代碼應替換現有的.so文件,該文件公開在 C++ 標頭中定義的此接口。

這是我目前考慮的兩個選項:

  1. 通過在 C++ 中編碼包括接口頭並使用PyEval_CallObject(...)每次調用委托給 Python 來構建包裝器.so文件
  2. 使用用Cython編譯的.so.pyx試圖出口所需的符號

選項 1 很可能會起作用,但對於一個愚蠢的包裝器來說似乎需要做很多工作。 一定會有更好的辦法。 我無法讓選項 2 起作用,我不知道這是否可行。

很高興聽到任何其他想法和提示。

最后,我選擇了 1. 作為解決方案,但使用了一個名為pybind11 ( https://github.com/pybind/pybind11 ) 的不錯的庫。 它確實簡化了從 c++ 連接 Python 和從 Python 連接 c++ 的接口,尤其是在類型轉換方面。 通過這種方式,包裝器.so文件變得非常小。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM