我爲我的C程序編寫了一個Matlab GUI。我想過使用MEX,但是有太多的C文件和C程序需要運行一個DLL。具有C可執行文件的Matlab系統函數
所以,相反,我有Matlab系統函數調用與輸入可執行文件,如[status results] = system('executable "input 1" "input 2"')
,它運行良好,但我想要實時輸出。 results
只是程序完成程度的百分比輸出,我想在Matlab中使用此輸出作爲GUI進度條。
輸出確實存儲在results
中,但僅在程序完成後才存儲。因此,使進度條毫無意義。
是否有可能讓可執行文件將輸出一次發送到Matlab,然後讓Matlab更新進度條並返回到可執行文件?
編輯:我正在尋找Windows中的解決方案。
我不明白你所有的問題,因爲我不是很熟悉Matlab。但是,您是否可以考慮使用http://www.scilab.org/? –
我沒有考慮過scilab。我希望我可以選擇我可以編程的環境,但這個選擇不是我的。感謝您的鏈接。 – user1007692
一個簡單得多的實現是讓可執行文件寫一個文件,其名稱報告完成狀態,Matlab每秒鐘讀取文件名。 – Jonas