我在用C++和python編寫的程序之間傳遞數據。我可以通過其命令行參數將多少數據傳遞給C++程序?
我發現要做到這一點最簡單的方法之一是編譯C++程序,然後只是把它使用subprocess.call('cprog.exe arg1 arg2', shell=True)
蟒蛇,並通過這避免使用用Cython參數arg1, arg2.... etc
的數據傳輸,提升...等......我發現在windows上工作是一個巨大的痛苦。特別是在未連接到互聯網的老化服務器上。 (請不要回復這個帖子,試圖幫助cython或boost等 - 我想限制討論主要問題。)
我的問題是:這種方法的侷限性是什麼?
我可以對整個數據數組進行連續化/編碼/解碼並通過命令行參數以這種方式傳遞它們嗎?那幾千兆字節的文件呢?
這會比寫入硬盤驅動器,然後讀取硬盤驅動器更快嗎?
編輯:看來,這是相關的: Maximum Length of Command Line String
C++語言規範未指定傳遞給'main()'的命令行參數的最大大小。實際限制完全取決於您的操作系統。 –
這取決於你的操作系統limnit在哪裏,但會有一個。將數據傳遞到子級的通常方法是使用stdin。 – 2017-06-14 12:29:44
根據你的迴應我改變了我的搜索條件,發現這個: https://stackoverflow.com/questions/3205027/maximum-length-of-command-line-string 我認爲這包含答案!謝謝 – Ben