2

这是一个晦涩难懂的周五早上问题:

在LabVIEW中是否可以在不将整个VI加载到内存的情况下获取VI的被调用者?例如,通过从二进制文件中读取静态信息?

谢谢

4

3 回答 3

1

那么有私有/脚本方法 App。从文件中读取链接器信息,我认为这不会将 VI 加载到内存中,有关更多信息,请查看LabVIEW wiki (目前离线,这里是链接器方法上的Google 缓存页面)页面。

链接器方法将返回 VI 的所有信息及其外部需求(VI、DLL、CHM 等)。

于 2009-06-27T19:44:19.197 回答
0

不,我不相信。当您打开对顶层 VI 的引用时,它将被加载到内存中。这甚至在您有机会查询它的被调用者之前。

于 2009-06-27T13:17:24.883 回答
0

顿的回答是正确的。提到的方法是应用程序实例方法而不是 VI 参考方法。您将相关 VI 的路径提供给该方法,然后它将解析 VI 结构并提取所有相关的链接器信息,而无需将 VI 本身加载到内存中(显然它会将文件中的信息读入内存以进行解析它,但它不会加载/实例化 VI 本身)。

然而,该节点的问题在于它是私有的,因为它过去已更改其接口,并且将来可能会在没有警告的情况下再次这样做。甚至在 7.0 和 7.1 左右之间也出现过这样的情况,界面发生了变化,没有任何警告,以虚线箭头的形式出现,但是当使用旧的数据结构执行它时,它会简单地崩溃。作为完全有效的私有节点,不保证私有节点的功能。

于 2018-10-18T10:31:53.637 回答