基于一些动态确定的序数从DLL调用函数?

时间:2015-04-26 16:32:23

标签: labview

我是否可以从某个DLL中的某个序号调用LabVIEW中的函数,而在运行时确定序数?

我也有兴趣是否有类似于函数指针的东西,比如'C'语言,它有一些动态函数地址?

2 个答案:

答案 0 :(得分:2)

如果您打算按地址调用函数,则必须通过从以下代码编译DLL来开发C中的包装器:

typedef int (*real_func_type)(int);

int wrapper(size_t address, int param1)
{
    return ((real_func_type)address)(param1);
}

真正的函数proto是

int real_func(int param);

答案 1 :(得分:0)

如果你的第二个问题是LabVIEW是否有类似于函数指针的东西,那么答案是最接近的是VI引用。有不同类型的VI引用以及创建和使用它们的不同方式,因此您需要阅读它。

无论如何,VI引用纯粹是一个LabVIEW构造。没有直接与C函数指针交互的机制,你不能创建一个指向VI的函数指针并将其赋予DLL函数。对于类似的东西,你还需要一些包装。