g****3 发帖数: 49 | 1 中间变量能否保存在DLL中?
用MATLAB写了个算法,做成DLL跟C#连接。有一个变量 X(t),在t 时刻,计算中用到X(
t-1)得到X(t),请问X(t)能不能保存在DLL中?
我做法是 COMPILE 生成DLL时,加入MAT-FILE,和M-FILE一起产生DLL. t 时刻计算一
次 X(t) 就保存到MAT-FILE,然后 t+1调用X(t) 。但使用DLL计算时发现有问题,感觉X
(t)好像没有被更新。我的问题是DLL中的MAT-FILE里面的数据能不能保存到下一时刻? |
G*****3 发帖数: 71 | 2 Well, you probably should check what DLL is for.
It is only a set of libraries or functions you can call. You could never
store vairables there. |
z****g 发帖数: 1978 | 3 you may need to change your design. let matlab handle only the core model
part. Do not involve any data part. |
d*****l 发帖数: 8441 | 4 这种思路有问题的,你能保证你的DLL不被其他的进程所使用吗?
如果别的进程也使用(读取),则会读到上次使用它的进程所产生的
“私密”数据,恐怕会出问题的。
X(
觉X
【在 g****3 的大作中提到】 : 中间变量能否保存在DLL中? : 用MATLAB写了个算法,做成DLL跟C#连接。有一个变量 X(t),在t 时刻,计算中用到X( : t-1)得到X(t),请问X(t)能不能保存在DLL中? : 我做法是 COMPILE 生成DLL时,加入MAT-FILE,和M-FILE一起产生DLL. t 时刻计算一 : 次 X(t) 就保存到MAT-FILE,然后 t+1调用X(t) 。但使用DLL计算时发现有问题,感觉X : (t)好像没有被更新。我的问题是DLL中的MAT-FILE里面的数据能不能保存到下一时刻?
|
g****3 发帖数: 49 | 5 谢谢各位的指点。正如ziqing所说的,把MAT拿出去,只COMPILE M-FILE,就解决了。
目前,我的程序还没那么复杂,不过,谢谢提醒。 |