2013-04-04 27 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 

在生产代码移除此避免显著性能命中。