上位机开发笔记 » 搜索 » user:admin post:true

线程间传递比较大的结构数组的最佳方案

最近遇到个问题:

上次说到那个光纤分析仪的dll里会返回一个结构体 , 内部有两个记录了7500个位置的数组, 

需要在一个线程里连续读取这个dll的返回数组, 然后更新并返回给其他线程使用.

之前用thread.set("pos1",table_A)来传递到其他线程, 测试结果发现这句话需要执行30毫秒左右,然后我换成thread.table, 执行结果20毫秒左右,感觉这种方式效率比较低, 那么有没有其他方式?

经过我的各种测试,最终得出的结论如下:

答案:使用

aardio admin •  2021-05-03 • 最后回复来自 jacen_he
1

记ProEssentials图表控件在aardio中的使用

再更新一点.

最近用光束分析仪的时候了解了结构体struct的使用, 所以这里的PEvset

也可以用结构体定义, 这样省的用raw.buff包装了.

波形图 图表 aardio admin •  2021-05-02 • 最后回复来自 admin
15

记ProEssentials图表控件在aardio中的使用

3D波形图演示

import win.ui; /*DSG{{*/ var winform = win.form(text="aardio form";right=759;bottom=469) winform.add( button={cls="button";text="Button";left
波形图 图表 aardio admin •  2021-05-01 • 最后回复来自 admin
15

封装Qt的串口接口为dll, 并使用aardio调用练习

回复#1 @henry1 :

右侧[工具]->[探测器]->dll查看工具

aardio qt dll admin •  2021-04-30 • 最后回复来自 奋斗人生
3

dll调用学习----modbusRTU.dll

 谢谢分享.

声明dll的时候貌似不能带初始化参数吧

RTUOpenCom= dll.api("RTUOpenCom","bool(int nPort, INT dwBaud, BYTE nDataBits, BYTE parity, BYTE stopBits)");


aardio 串口 dll admin •  2021-04-17 • 最后回复来自 cuiqbo
3

modbusRTU.dll动态库调用

群里分享的一个modbusRTU通信的dll , 看了一下, 貌似没必要封装, 函数直接用即可.

admin •  2021-04-16

光束分析仪BP209-IR/M的动态库TLBP2_32.dll得通信调用

经过jacenHe老大的指点, 我上面把结构体用法复杂化了, dll声明的时候可以直接用struct , 这样会简单很多. 还有结构体数组也是可以直接赋值的. 具体可以看下面的代码.

程序修改后如下:

import console console.open() var dll = ..raw.loadDll("\res\TLBP2_32.dll","beamLib"); TLBP2_get_connected_devices = dll.api("TLBP2_get_connected_devi
aardio dll admin •  2021-04-15 • 最后回复来自 admin
1

光束分析仪BP209-IR/M的动态库TLBP2_32.dll得通信调用

最近用到这个设备, 这里写下调用的时候遇到的问题和解决方法.

这里先贴出来C语言的调用示例

//============================================================================== // // Title: CSample // Purpose: A short description of the command-line tool. // // Created on: 16.05.2013 at 14:01:49 by
aardio dll admin •  2021-04-13 • 最后回复来自 admin
1

aardio调用ChartDirector实现饼状图表功能示例

ChartDirector是著名的商业图表, 包含有以下功能:

https://www.advsofteng.com

可以免费下载使用, 但是免费版底部会有一个黄色的版权条.



这里演示下饼状图表的aardio中

aardio dll admin •  2021-04-11 • 最后回复来自 cd10
1

利用 fiber 以同步方式写异步实列, Chrome DevTools Protocol 操作小库

感谢分享 , 如果github打不开, 可以用gitee直接克隆github里面的项目,然后从gitee下载. 速度杠杠的.


dp好用啊.

获取播放地址:

aardio web Xpath admin •  2021-04-04 • 最后回复来自 admin
1

从零开始一步步学习aardio+webView+Layui做界面笔记

界面第一步, 需要对界面进行划分, 分出不同的布局和功能区, 这里就要用到layui的栅格系统

https://www.layui.com/doc/element/layout.html

从文档里看到, 栅格类似表格那样对界面进行划分

layui-row 定义一行

layui-col-*** 定义一列,并定义这列占多少栅格(layui规定一行row分为12等分个col列栅格)

那么实际应该怎

webview admin •  2021-03-31 • 最后回复来自 楚鸟
4

从零开始一步步学习aardio+webView+Layui做界面笔记

好了, 首先新建个通用框架 , 在html目录中添加main.html ,修改代码如下

<html> <head>   <meta charset="utf-8">   <link rel="stylesheet" href="layui/css/layui.css"> </head> <body> <script src="layui/layui.js"></script> </body>
webview admin •  2021-03-31 • 最后回复来自 楚鸟
4

从零开始一步步学习aardio+webView+Layui做界面笔记

为什么用webview?

WebView2 Runtime,支持自主独立安装,支持WIN7,WIN8,WIN10,不支持XP

我做工业类软件比较多, 运行环境啥的让客户安装下没问题,我们也用过labview, 这个也是要安装runtime的, runtime好的一点就是虚拟运行引擎不会受到系统影响.

webview不像webform那样需要依赖ie, 它是独立的运行环境, 不同的电脑不存在兼容问题.


言归正传, 我基本上没学过web , 发到这里就是为了勉励自己 , 为自己接下来的学习提供动力.

webview admin •  2021-03-31 • 最后回复来自 楚鸟
4

(转)chakaraCore js 脚本引擎的aardio简单调用

感谢: fish 分享

https://github.com/btx638/ChakraCore-aardio


ChakraCore 是微软Edge浏览器的JavaScript开源解释器

能够解析、解释、编译和执行JavaScript代码;

对Microsoft Edge没有任何依赖。

它可以嵌入到其他产品中,提供脚本执行能力;

aardio js admin •  2021-03-28

(转)hp socket 5.8.2 高性能网络扩展库

感谢: fish 分享


aardio的扩展库里已经有个jacenHe提供的HPsocket库,位置如下:


此次分享的是由fish封装的, 目前只封装了 ssl http client 部分

aardio socket admin •  2021-03-25 • 最后回复来自 money
9

userAgent解析库,js调用

感谢分享

aardio js admin •  2021-03-23 • 最后回复来自 admin
1

Nicomsoft OCR调用示例(NSOCR)

NISOFT OCR SDK 是一款目前免费图文识别开发库, 目前支持28国语言包括简体和繁体中文识别, 能够识别条形码/二维码, 

图片支持: BMP, JPEG, PNG, TIFF, and GIF. 当然也支持内存图片识别.

识别出的结果可以保存成PDF, PDF/A (PDF/A-1a or PDF/A-1b), RTF, Text or XML

OCR aardio admin •  2021-03-07

BLU蓝牙上位机求指导

回复#4 @chenqiang :

看你上面的callback定义, 貌似没啥问题,

dll引用是stdcall,你拼错了,void*可以用ADDR, UCHAR用BYTE, 

另外你这里演示的是open的callback, 函数名最好一致

我这里调用dll会提示少了个api-ms-xxxxxx.dll, 网上下载了个还是不行, 没法测试, 可能需要注意的地方是raw.

aardio 蓝牙 dll admin •  2021-03-06 • 最后回复来自 admin
5

BLU蓝牙上位机求指导

大致看了下, 回调在aardio里根据调用方式stdcall的有

thread.tostdcall

raw.tostdcall

看你那个dll是stdcall,用对应的转换下aar里面的函数成为函数指针即可.

https://www.chengxu.xyz/t/361

可以参考上面的例子, 还有aardio的sio串口库里其实也有这样的回调, 先琢磨下, 试试手, 还是不行的话, 贴上你的代码还有运行遇到的问题.

自己研

aardio 蓝牙 dll admin •  2021-03-06 • 最后回复来自 admin
5

(转)七牛云文件上传aardio调用库分享

感谢: 周 (332XXX281) 分享


qiniuyun.aardio 库代码如下:

import web.rest.jsonClient;   import crypt.hmac; import crypt.bin;  import fsys.ini namespace qiniuyun; class auth{ ctor(accessKey,secretKey){ this = ..web.rest.jsonClient()  this.accessKe
aardio api admin •  2021-02-28 • 最后回复来自 netfox
4
登 录
信息栏
 私人小站

本站域名

ChengXu.XYZ

投诉联系:  popdes@126.com



快速上位机开发学习,本站主要记录了学习过程中遇到的问题和解决办法及上位机代码分享

这里主要专注于学习交流和经验分享.
纯私人站,当笔记本用的,学到哪写到哪.
如果侵权,联系 Popdes@126.com

友情链接
Aardio官方
Aardio资源网


才仁机械


网站地图SiteMap