摘要:
1 #include <iostream> 2 #include <exiv2/exiv2.hpp> 3 #pragma comment(lib,"libexiv2.lib") 4 #pragma comment(lib,"xmpsdk.lib") 5 #pragma comment(lib,"li
阅读全文
posted @ 2023-06-27 15:38
一杯清酒邀明月
阅读(675)
推荐(0)
摘要:
什么是协议 在了解什么是Modbus之前,我们先来看下什么是协议 协议是一个汉语词汇,读音为xié yì,意思是共同计议,协商;经过谈判、协商而制定的共同承认、共同遵守的文件。 简单地说,在我们的单片机之间互相通信,以及单片机和上位机通信中,规定了不同的内容规范,这个规范是通信的双方都需要遵守的,这
阅读全文
posted @ 2023-06-25 15:39
一杯清酒邀明月
阅读(890)
推荐(1)
摘要:
一、了解Modbus MODBUS 是 OSI 模型第 7 层上的应用层报文传输协议,它在连接至不同类型总线或网络的设备之间提供客户机/服务器通信。 它主要用于工业自动化设备通信。 MODBUS可以在基于串行链路和以太 TCP/IP 网络的 MODBUS 上可以进行通信,也就是说,可以使用串口线或者
阅读全文
posted @ 2023-06-25 15:23
一杯清酒邀明月
阅读(1060)
推荐(0)
摘要:
基本概念 vtkVolume类似于几何渲染中的vtkActor,用于表示渲染场景中的对象。除了存储基本的变换信息(平移、旋转、放缩等),其内部还存储了两个重要对象。这两个对象分别是vtkAbstactVolumeMapper对象和 vtkVolumeProperty对象。相应的函数如下。1)void
阅读全文
posted @ 2023-06-25 13:17
一杯清酒邀明月
阅读(1153)
推荐(0)
摘要:
1、正常显示vtk,需要 vtkActor (可以有多个) 进行一些演员的处理 vtkRenderer (可以有多个) 将vtkActor进行加入 vtkRenderWindow(只能有一个) 将vtkRenderer进行加入 vtkRenderWindowInteractor(只能有一个) 将vt
阅读全文
posted @ 2023-06-21 14:26
一杯清酒邀明月
阅读(1075)
推荐(0)
摘要:
操作系统:win 10QT: 5.15.2VTK : 9.1 一、VTK库编译 1、从官网下载vtk 库现在已经更新到9.2.2 了 2、下载Cmake 3、使用Cmake 编译vtk源码 注意点 : 1、有三个路径,source build install 2、对应Qt的安装位置 4、使用vs 生
阅读全文
posted @ 2023-06-20 16:12
一杯清酒邀明月
阅读(4103)
推荐(0)
摘要:
C++11有了chrono库,可以在不同系统中很容易的实现定时功能。 要使用chrono库,需要#include,其所有实现均在std::chrono namespace下。注意标准库里面的每个命名空间代表了一个独立的概念。 chrono是一个模版库,使用简单,功能强大,只需要理解三个概念:dura
阅读全文
posted @ 2023-06-20 11:56
一杯清酒邀明月
阅读(1558)
推荐(0)
摘要:
计时的作用:测试某一段代码的运行时间,时间越短,则性能相对越高。 C++11 标准的”最佳计时方法“的代码: 1 #include <chrono> 2 using namespace std; 3 using namespace chrono; 4 5 auto start = system_cl
阅读全文
posted @ 2023-06-20 11:52
一杯清酒邀明月
阅读(472)
推荐(0)
摘要:
std::chrono是C++11引入的日期时间处理库,其中包含3种时钟:system_clock,steady_clock,high_resolution_clock。近来需要使用高精度时间,很自然想到使用high_resolution_clock,然而使用后发现并非预期的得到自1970/1/1零
阅读全文
posted @ 2023-06-20 11:41
一杯清酒邀明月
阅读(813)
推荐(0)
摘要:
碰到这种错误,只需要在Qt中配置C++17即可解决 打开该项目中的xxx.pro文件,然后如下图中红色方框中配置:CONFIG += c++17
阅读全文
posted @ 2023-06-15 16:10
一杯清酒邀明月
阅读(574)
推荐(0)
摘要:
1.OpenMP的简单使用 OpenMP可以用来并行计算for循环,提高程序运行速度。 首先要打开OpenMP支持:“配置属性”——“C/C++”——“语言”——“1.OpenMP支持”后选择“是”。 1 omp_get_num_procs() //获取系统中处理器的个数 2 omp_set_num
阅读全文
posted @ 2023-06-14 14:25
一杯清酒邀明月
阅读(1609)
推荐(0)
摘要:
C语言引入的宏支持了一定程度的元编程,但它仅仅是简单的字符串替换,这种“六亲不认”的操作很容易导致一些编译错误。 这篇文章介绍了一种场景:项目同时引入了老的C头文件,里面用宏定义了一些宏函数;还引入了C++的头文件,里面用其他方式定义了一些同名函数。具体到问题本身,这个老的头文件是Windows.h
阅读全文
posted @ 2023-06-13 11:53
一杯清酒邀明月
阅读(1198)
推荐(1)
摘要:
按行分配 1 #include<stdio.h> 2 #include<mpi.h> 3 #include<stdlib.h> 4 #include<omp.h> 5 6 #define N 100 7 8 //time_t start,end;//开始和结束时间 9 double start,en
阅读全文
posted @ 2023-06-07 19:05
一杯清酒邀明月
阅读(124)
推荐(0)
摘要:
按行分配 思路和MPI基本类似,不过OpenMP是共享内存的,不必做分发和聚集,申请的矩阵空间就不必是完全连续的。 1 #include<stdio.h> 2 #include<omp.h> 3 #include<stdlib.h> 4 5 #define N 400 //规模(方针的阶数) 6 i
阅读全文
posted @ 2023-06-07 11:39
一杯清酒邀明月
阅读(91)
推荐(0)
摘要:
简述归约 归约操作在MPI里也学过,不过那时候还不太熟悉这种操作。当时只知道MPI_Reduce可以把全局求和和集合通信封装起来,非常方便。实际上将相同的二元归约操作符重复地应用到一个序列上得到结果的计算过程都可以称为归约。 python里那个难理解的reduce()函数也就是归约: 1 >>> f
阅读全文
posted @ 2023-06-07 11:37
一杯清酒邀明月
阅读(326)
推荐(0)
摘要:
MPI是可以针对分布式内存,在进程级别实现并行的API;OpenMP则是针对共享内存,在线程级别实现并行的API。 基本使用 不同于MPI的init和finalize,OpenMP用携带了parallel指令的预处理指令指示接下来的一个代码块被多个线程执行。 OpenMP预处理指令-(携带)->Op
阅读全文
posted @ 2023-06-07 11:33
一杯清酒邀明月
阅读(517)
推荐(0)
摘要:
从parallel到parallel for parallel for指令和parallel指令是不同的。 parallel parallel指令只是指明后面的代码块被并行执行,对共享下标的访问次序无法控制和预知: 1 #include<stdio.h> 2 #include<stdlib.h> 3
阅读全文
posted @ 2023-06-07 11:27
一杯清酒邀明月
阅读(502)
推荐(0)
摘要:
前言这里记录在VS和QtCreater的环境里如何打开OpenMP方法。 一、VS环境下在VS环境下,进入项目属性 =》 C/C++ =》 语言 =》 OpenMP支持 =》 下拉菜单选择是 二、QtCreater环境下在“XXX.pro”工程文件中添加如下代码 1 QMAKE_CXXFLAGS+=
阅读全文
posted @ 2023-06-07 11:20
一杯清酒邀明月
阅读(667)
推荐(0)
摘要:
问题: 把 Enigma Virtual Box 打包过的 exe 放到另一个电脑使用,打开exe会报错:cannot load library Qt5Core.dll(实际上使用 Enigma Virtual Box 打包时已经包含了 Qt5Core.dll 这个库) 原因:这个并不是缺少 Qt5
阅读全文
posted @ 2023-05-31 16:07
一杯清酒邀明月
阅读(1370)
推荐(0)
摘要:
前言最近想研究下Qt下跨平台的崩溃捕获,经过一番调查,发现有一个来自谷歌的开源项目叫Breakpad,统一了这三平台win、linux、mac生成dump的方式,通过它就可以跨平台。 使用也是相对简单的,大概就是下载源码,编译生成lib和dll,然后在你自己的程序中include头文件,就可以在你的
阅读全文
posted @ 2023-05-24 15:27
一杯清酒邀明月
阅读(2947)
推荐(2)