[問題] 計算兩個二維陣列的乘積,但無法釋放記

看板C_and_CPP作者 (yuwenche)時間7月前 (2023/09/23 09:41), 編輯推噓2(204)
留言6則, 4人參與, 7月前最新討論串1/1
底下連結的程式片段是計算兩個二維陣列的乘積,此函式會被編譯成dll檔,供python程 式調用。 目前的情況是能傳回正確的乘積值,但因第45行之後未被執行,也就是宣告的 記憶體空間未被釋放,程式跑久就出現記憶體不足的問題了。請問有沒有辦法傳回正確值 且能釋放記憶體? https://drive.google.com/file/d/1IdiUiNmFEVAb3AQfoEk3_20MDrDidO2o/view?usp=sharing -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 1.164.46.142 (臺灣) ※ 文章網址: https://www.ptt.cc/bbs/C_and_CPP/M.1695433319.A.EF9.html

09/23 10:11, 7月前 , 1F
注意你 40 行已經 return 了
09/23 10:11, 1F

09/23 10:11, 7月前 , 2F
return 不只是表示什麼是回傳值, 更表示程式執行到此為止
09/23 10:11, 2F

09/23 14:37, 7月前 , 3F
不過就算return放在最後一行,這code也是www
09/23 14:37, 3F

09/23 15:08, 7月前 , 4F
把結果轉成字串,存在固定空間, python 處理字串
09/23 15:08, 4F

09/23 15:59, 7月前 , 5F
直接轉成numpy回傳就好,轉字串不如別用c
09/23 15:59, 5F

09/23 23:14, 7月前 , 6F
不能在 Python 那邊 allocate 好再把陣列傳進來嗎?
09/23 23:14, 6F
文章代碼(AID): #1b3a9dxv (C_and_CPP)