[经验] C语言创建dll及Labview实现调用

[复制链接]

技术员

发表于 2017-3-20 16:05:28   705 查看 7 回复 显示全部楼层 倒序浏览
分享
本帖最后由 silverze 于 2017-3-20 16:05 编辑

本文将详细记录使用C语言创建一个dll库文件,然后在Labview中进行调用的过程。
一、目标
用C语言创建两个函数,分别用于获取两个整数中较大、较小的值。函数命名:getMax,getMin。生成dll文件后,在Labview中将这两函数创建成对应的子vi。
二、创建DLL文件
利用CodeBlocks创建自定义的dll文件;在CB中创建一个Dynamic Link Library项目。
1.png

创建完成后,将默认的main.cpp(或main.c)、main.h文件删从项目中除掉,然后创建新的两个文件Lab_Call_DLL.c、Lab_Call_DLL.h并添加到项目中。


Lab_Call_DLL.h文件内容:
#ifndef _LAB_CALL_DLL_H_
#define _LAB_CALL_DLL_H_

#define DLL_EXPORT __declspec(dllimport)

int DLL_EXPORT  getMax(int a, int b);
int DLL_EXPORT  getMin(int a, int b);
#endif // _LAB_CALL_DLL_H_

Lab_Call_DLL.c文件内容:
#include "Lab_Call_DLL.h"

int DLL_EXPORT  getMax(int a, int b)
{
    return a>=b?a:b;
}
int DLL_EXPORT  getMin(int a, int b)
{
    return a<=b?a:b;
}
项目结构如图所示:

2.png

完成上述步骤后,点击Build,进行编译、建立dll文件。编译没有语法错误,将会在在项目输出文件目录下生成接下来要调用的dll文件。

3.png

三、Labview调用DLL
4.png

新建vi命名为需要调用函数的名字并保存;在Labview函数中选择 互连接口->库与可执行程序->调用库函数节点。
5.png


双击该节点、或者右键选择配置...,弹出一个对话框进行函数配置;在库名或路径中选择,刚才生成的Lab_Call_DLL.dll文件,函数名选择getMax,并将参数设置成如图所示。
6.png


并个vi添加输入、输出端;制作成一个可调用的子vi。最后可设计成如图所示的一个vi:
7.png


使用同样的方式,将getMin也制作成一个可调用的子vi.
8.png





C语言创建dll及Labview实现调用.zip

1.17 MB, 阅读权限: 1, 下载次数: 30, 下载积分: 积分 -1 分

标签:C语言 Labview

技术员

发表于 2017-3-24 14:29:40  
这个是不是用调用库函数节点。
回复

点赞

技术员

发表于 2017-3-27 09:43:34    楼主|

PCB在线计价下单

板子大小:

cm
X
cm

层数:

2

板子数量:

10

厚度:

1.6
netboycn 发表于 2017-3-24 14:29
这个是不是用调用库函数节点。

对的,没错。。。
回复

点赞

实习生

发表于 2017-3-27 10:55:22   来自手机
厉害了
回复

助理工程师

发表于 2017-3-28 17:42:18  
看看!!!!!!!!!!!!!!!!
回复

技术员

发表于 2017-3-28 18:35:13  
太麻烦,费那功夫,C#搞定!
回复

点赞

技术员

发表于 2017-3-30 15:03:27  
谢谢楼主分享!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
回复

点赞

技术员

发表于 2017-4-1 14:53:15  
还是感到骄傲估计很快就电视剧好看的建行卡
回复

点赞

高级模式
您需要登录后才可以回帖 登录 | 注册

专家问答 查看更多>>
关闭

站长推荐 上一条 /9 下一条

小黑屋|手机版|Archiver| 电子发烧友 ( 粤ICP备14022951号-2 )     

GMT+8, 2017-7-21 10:33 , Processed in 0.126710 second(s), 15 queries , Memcache On.

微信扫描
快速回复 返回顶部 返回列表
-

推荐专区

技术干货集中营

专家问答

用户帮助┃咨询与建议┃版主议事

我的提问

工程师杂谈

工程师创意

工程师职场

论坛电子赛事

社区活动专版

发烧友活动

-

嵌入式论坛

单片机/MCU论坛

FPGA|CPLD|ASIC论坛

DSP论坛

嵌入式系统论坛

-

电源技术论坛

电源技术论坛

-

硬件设计论坛

PCB设计论坛

电路设计论坛

电子元器件论坛

控制|传感

总线技术|接口技术

-

测试测量论坛

LabVIEW论坛

Matlab论坛

测试测量技术专区

仪器仪表技术专区

-

EDA设计论坛

multisim论坛

PADS技术论坛

Protel|AD|DXP论坛

Allegro论坛

proteus论坛|仿真论坛

EasyEDA-中国人自已的EDA工具

Orcad论坛

-

综合技术与应用

电机控制

智能电网

光电及显示

参考设计中心

汽车电子技术论坛

医疗电子论坛

-

开源硬件

DFRobot专区

树莓派论坛

智能硬件论坛

开发快智能硬件开发平台

Intel物联网开发者专区

Waveshare

乐美客SBC专区

Arduino论坛

BeagleBone论坛

机器人论坛

创客神器NanoPi

小钢炮CANNON

比派科技banana pi专区

-

无线通信论坛

无线通信技术专区

天线|RF射频|微波|雷达技术

-

IC设计论坛

芯片测试与失效分析

Mixed Signal/SOC[数模混合芯片设计]

Analog/RF IC设计

设计与制造封装测试

-

个人版区

阿东Verilog技术专版

直流马达驱动电路设计

LabVIEW英雄联盟

特权同学FPGA专区

-

厂商专区

灵动微电子 MM32

盈鹏飞嵌入式

TI论坛

TI Deyisupport社区

芯灵思嵌入式论坛

Tisan

米尔科技

庆科社区

WIZnet技术专区

Cypress技术论坛

飞凌嵌入式

Qualcomm技术论坛

英创嵌入式

机智云GoKit论坛

-

检测技术与质量

电磁兼容(EMC)设计与整改

安规知识论坛

检测与认证

-

消费电子论坛

手机技术论坛

平板电脑/mid论坛

音视/视频/机顶盒论坛

-

电子论坛综合区

聚丰众筹官方社区

新人报道区

聚丰供应链

-

论坛服务区

-

供求信息发布

供需广告

招聘┃求职发布区

电子展览展会专区