IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 开发工具 -> Labview 入坑(2)--Labview调用VSC++、C#、QtC++的dll文件 -> 正文阅读

[开发工具]Labview 入坑(2)--Labview调用VSC++、C#、QtC++的dll文件

一、调用C++库

原本比较熟悉Qt 想用Qt 创建个dll给Labview,但是好像测试时,没有用VS创建出来的dll导入那么顺利Qt Creator创建出来的是类,感觉labview对C++类好像导入有点问题,至少我导入时是识别不到类的.
1、记录下创建Qt库的过程,我这边是32位的labview 所以选择32位的dll
在这里插入图片描述
在这里插入图片描述在这里插入图片描述
默认的dll文件会创建一个类出来,这个类导入labview 是识别不出来的,需要将类去除直接修改成函数去调用。
在这里插入图片描述
cpp修改成入下

#include "qdllcore.h"

int QSumInt(int num1, int num2)
{
    return   num1 + num2;
}

.h文件修改如下

#ifndef QDLLCORE_H
#define QDLLCORE_H
#include "qdllcore_global.h"

QDLLCORE_EXPORT int QSumInt(int num1, int num2);
#endif // QDLLCORE_H

然后编译生成dll文件在debug里,出错不需要管(因为dll没有法直接运行)
在这里插入图片描述
测试dll 找个例子拖动2个输入数值控件一个输出测试以下加减法
在这里插入图片描述
拖成这个样子

在这里插入图片描述
更换箭头工具双击进入后面板导入对应的库,空白区域右键拖入
在这里插入图片描述
拖入后双击调用函数节点,然后选择对应的dll文件,识别完修改对应的函数输入输出映射
在这里插入图片描述
这个参数需要手动的选择
在这里插入图片描述
在这里插入图片描述
选择完点击确定就剩下连接线了
在这里插入图片描述
然后点击运行就成功了。
在这里插入图片描述

二、用同样的方法测试下VS下创建的C++库(连线就省略了)

C++库调用都一样,就是VS创建动态dll有区别
在这里插入图片描述
创建完后生成默认的几个文件
在这里插入图片描述
自己添加个.h和.cpp文件,敲入代码
.h文件

extern "C" __declspec(dllexport) int  SumInt(int num1, int num2);

.cpp文件

#include "pch.h"
#include "dllapi.h"
int  SumInt(int num1,int num2)
{
    return   num1 + num2; 
}

在这里插入图片描述
在这里插入图片描述
编译出dll文件完和Qt加载dll一样创建个空白VI,拖动对应的空间,最后加载dll
反正VS创建完没有乱码,感觉比较舒服

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
运行也正常

三、C# 的.net dll

看labview 官网是说对.net 支持会比较好。所以就搞个.net库来试试。
一样新建.net的dll文件

在这里插入图片描述
创建.net库工程,名字自行命名。没有头文件比较简单
搞个方法放进去

    public class DllApi
    {
        public double add(double a, double b) {
            return a + b;      
        }
    }

在这里插入图片描述
编译出dll报错无需理会
在这里插入图片描述
拖入面板还是一样的控件
在这里插入图片描述
转到背板后,拖动出对应的节点,因为C#可以导入类,所以还需要从类里面导入方法。
在这里插入图片描述
再对应的拖入方法
在这里插入图片描述
在这里插入图片描述
然后去方法那边选择方法
在这里插入图片描述
连接对应的连接线运行,和前面两个都一样,但是C#感觉支持比较舒服,还能导入控件什么的
在这里插入图片描述

四、总结

VS 创建出来的C++ dll 和QT 创建出来的C++dll  VS兼容比较好,函数名称可以看得清楚(预计是QT的编码格式问题),但是两个函数都是正常使用的,.net 创建的dll 很好的兼容,而且自定义控件也是可以拉入的,也可以导入C#的类,和属性。整体兼容比较舒服
  开发工具 最新文章
Postman接口测试之Mock快速入门
ASCII码空格替换查表_最全ASCII码对照表0-2
如何使用 ssh 建立 socks 代理
Typora配合PicGo阿里云图床配置
SoapUI、Jmeter、Postman三种接口测试工具的
github用相对路径显示图片_GitHub 中 readm
Windows编译g2o及其g2o viewer
解决jupyter notebook无法连接/ jupyter连接
Git恢复到之前版本
VScode常用快捷键
上一篇文章      下一篇文章      查看所有文章
加:2022-04-18 18:03:22  更:2022-04-18 18:05:07 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年12日历 -2024/12/30 3:42:15-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码