labview的深入探索----如何实现类似C的函数指针调用

2015-08-26 10:00:59   来源:eefocus   

关键字: labview  函数指针

C语言中有函数指针的概念,对于相同的参数数量和参数类型,以及相同的函数返回值,通过传递函数指针,可以动态地调用不同的函数实现不同的功能.

我们先看看C的一个函数指针调用的例子:

#include 

int max(int x,int y)
{

  int z;
  if(x>y) z=x;
  else
   z=y;
   return (z);
}

//求最大值

int min(int x,int y)
{
  int z;
  if(x>y) z=y;
  else
            z=x;

  return(z);


}

//求最小值

int add(int x,int y)
{


    return(x+y);

}

//求和

int process(int x,int y,int (*fun)())
{

   int result;
   result=fun();

  return result;

}


int main()
{
   int a,b,result;
   a=10;
   b=5;
   result=process(a,b,max);
   result=process(a,b,min);
   result=process(a,b,add);

}
从上面的C程序可以看出,通过一个PROCESS函数,可以实现不同的函数调用,这就是函数指针的重要用途.LABVIEW是否能实现类似的功能?


通过VI SERVER可以实现类似的功能.我通过一个简单的例子说明实现的过程.

首先定义两个加法和乘法的子VI.



注意,必须定义连接器,而且参数数量和位置必须完全相同(所谓的严格类型定义)


[1] [2]
本网站转载的所有的文章、图片、音频视频文件等资料的版权归版权所有人所有,本站采用的非本站原创文章及图片等内容无法一一联系确认版权者。如果本网所选内容的文章作者及编辑认为其作品不宜公开自由传播,或不应无偿使用,请及时通过电子邮件或电话通知我们,以迅速采取适当措施,避免给双方造成不必要的经济损失。

推荐阅读

编辑:什么鱼
本文引用地址: http://www.eeworld.com.cn/Test_and_measurement/2015/0826/article_12930.html
[发表评论]
[加入收藏]
[打印本页]
[关闭窗口]
[返回顶部]
[RSS订阅]
小广播
每日新闻
最热点击
本周热门资源推荐
EEWORLD独家
论坛精华
精选博文