2013-04-04 103 views
0

我正在使用閉源MEX功能,所以我不知道這在幕後工作。我將它作爲一個字符串提供一個函數名稱,並且MEX長時間(幾秒到幾分鐘)重複調用此函數。在開發過程中,我想更改我提供的功能,而無需重新啓動MEX功能。如何欺騙這個Matlab MEX再次讀取一個函數?

the_MEX_function('my_function'); 

我已經試過這樣:

  • 只需要編輯my_function
  • 調用my_function_2my_function和編輯my_function_2

你有任何想法還有什麼可以工作?

+0

您是否找到了解決此問題的解決方案? – Shai 2013-04-23 09:16:06

回答

-1

之前調用MEX首次

  1. 使包含你想要的代碼(更好的一行)的文本文件。這應該決定什麼my_function做。
  2. 更改my_function做下面的閱讀文本文件和eval的代碼。
  3. 運行與my_function
  4. 的MEX文件在執行MEX,您可以更改txt文件的內容指向my_function不同的代碼。

不是一個非常好的做法,但...

0

你不說爲什麼打電話從my_functionmy_function_2不起作用。這似乎是正確的策略,但my_function應該在開發過程中執行之前清除my_function_2以確保重新加載;因此,無論是從命令行或內my_function,包括:

clear my_function_2 

在生產代碼移除此避免顯著性能命中。