簡體   English   中英

將 C++ 數組傳遞給 python

[英]Passing C++ array to python

我想將 python 嵌入到我的 C++ 代碼中。 在 C++ 我正在構造一個矩陣和向量,想用 Python 的 Numpy 來求解線性系統。 為了建立這個:我正在關注這個例子: http://realgonegeek.blogspot.com/2013/08/how-to-pass-c-array-to-python-solution.html

但是這一行: import_array ();
不適用於我的代碼。 我收到以下錯誤:

1678:144: 錯誤:沒有值的返回語句,在 function 返回 'int' [-fpermissive] #define import_array() {if (_import_array() < 0) {PyErr_Print(); PyErr_SetString(PyExc_ImportError, "numpy.core.multiarray 導入失敗"); 返回 NUMPY_IMPORT_ARRAY_RETVAL; } }

有沒有人成功地將 python 代碼嵌入到他們的 C++ 代碼中? 或者可能知道為什么該特定線路可能無法正常工作。 我正在使用 python 3.4

對此的建議之一:如果您的矩陣、向量或數組是 static,您可以像這樣為 c 文件設置一個參數:

program.exe -array "[[2,2],[3,3],[4,4]]"

並在 c/c++ 中使用 strtok 或 substr 來拆分字符串。

或者,如果您的程序動態使用新的矩陣/向量/數組,您可以將其保存到臨時文件或內存(C/C++),如果上述所有方法都不能解決您的問題,您最終可能會重寫那部分代碼C++ 語言。

暫無
暫無

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

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