如何欺骗这个Matlab MEX再次读取一个函数?

时间:2013-04-04 06:17:08

标签: matlab mex

我使用的是闭源MEX功能,所以我不知道这在幕后工作。我为它提供了一个函数名称作为字符串,并且MEX以很长的延迟(几秒到几分钟)重复调用该函数。在开发过程中,我想在不重新启动MEX功能的情况下更改我提供的功能。

the_MEX_function( 'my_function' );

我试过这个:

  • 只需修改my_function
  • my_function_2致电my_function,然后修改my_function_2

你对其他什么方法有什么想法吗?

2 个答案:

答案 0 :(得分:0)

您没有说明为什么从my_function_2调用my_function不起作用。这似乎是正确的策略,但my_function应该在开发期间执行之前清除my_function_2以确保重新加载;因此,无论是从命令行还是在my_function内,都包括:

clear my_function_2

在生产代码中删除它,以避免显着的性能损失。

答案 1 :(得分:-1)

第一次打电话给mex之前

  1. 制作一个包含所需代码的文本文件(最好是一行)。这应该决定my_function做什么。
  2. 更改my_function以执行以下操作,阅读文本文件并eval代码。
  3. 使用my_function
  4. 运行mex文件
  5. 在mex执行期间,您可以将txt文件的内容更改为将my_function指向不同的代码。
  6. 虽然不是很好的做法......