自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

Ivan 的专栏

电路设计、嵌入式编程、算法。。。

  • 博客(517)
  • 资源 (20)
  • 收藏
  • 关注

原创 C++ 学习笔记(Structured bindings)

这个特性是 C++17 引入的,个人认为主要是解决如何让函数返回多个值的问题。在这之前,我们一般用 std::pair 或者 std::tuple 来返回多个值。在上面的例子中,我们先定义了一些变量,然后用 std::tie 把他们绑定成一个 std::tuple,这样就可以获取多个值了。在C++ 17 中,把这个特性更近了一步。

2024-02-29 11:36:28 423

原创 CMake 学习笔记 (Generator Expressions)

Generator Expressions 可以认为是一种特殊的变量,它会在编译阶段求值。通常用在 target_link_libraries(), target_include_directories(), target_compile_definitions() 上。用 Generator Expressions 可以帮助我们简化代码,省略掉很多原来只能用 if() endif() 来实现的代码。下面来讲一讲 Generator Expressions 的基本类型和 规则。

2023-07-30 11:57:20 814

原创 CMake 学习笔记(target_compile_features())

其实,大多数时候我们的编译器都是默认支持C++ 的比较高的标准的。这两行对编译器的设置是全局的,也就是整个项目中每一个 C++ 文件编译时都会开启 C++11 的支持。这三行第一行引入了一个接口库 tutorial_compiler_flags,找个库其实是个虚拟的库,并没有任何的文件。

2023-07-30 09:16:30 1317 1

原创 CMake 学习笔记(子目录 续)

其中 target_include_directories() 是可以省略掉的。上面的代码里出现了 tutorial_compiler_flags, 这里也要解释几句。之所以要代替这两行,是因为这两行是全局的。而 tutorial_compiler_flags 是局部的,只有。我们先看一下改进后的 MathFunctions 目录下的 CMakeList.txt。这里说一下, CMAKE_CURRENT_SOURCE_DIR 表示当前的源代码目录。我们的目录结构和上一个例子完全相同。

2023-07-18 13:05:05 611

原创 CMake 学习笔记(子目录)

有些子目录下的代码要编译成库文件,我们的主程序调用这些库。target_link_libraries(Tutorial PUBLIC MathFunctions) 将 MathFunctions 链接到我们的可执行文件。MathFunctions 是个子目录,里面的文件会编译成一个库,这个库的名字就叫做 MathFunctions。可以看到里面的代码很简单,就是生成一个名字叫 MathFunctions 的库。其实这个代码还可以改进,我们下一篇博客把这里的代码再优化一下。

2023-07-17 08:37:29 644

原创 CMake 学习笔记(生成头文件)

1 就是 MAJOR,CMake 会自动生成一个变量 Tutorial_VERSION_MAJOR 存放这个值,0 是MINOR,同理放在 Tutorial_VERSION_MINOR。这句告诉 cmake, 我们要根据 TutorialConfig.h.in 来生成 TutorialConfig.h。一般命名为 config.h。这个文件是 CMake 生成的。生成这个文件我们需要一个模板文件 TutorialConfig.h.in。这个例子是将软件的版本号传入了 TutorialConfig.h。

2023-07-17 07:50:44 462

原创 CMake 学习笔记(OpenMP)

我们知道,不同的编译器开启 OpenMP 的方法是不同的。如果自己写Makefiles 或者 在 IDE 工具生成的项目文件中做设置的话就需要根据不同的编译器做不同的设置。OpenMP是由OpenMP Architecture Review Board牵头提出的,并已被广泛接受,用于共享内存并行系统的多处理器程序设计的一套指导性编译处理方案(Compiler Directive)。下面是一个简单的使用 OpenMP 的例子程序。上面的代码很简单,这里只讲解几点。在我的电脑上输出的结果是这样的。

2023-07-12 09:01:00 1869

原创 CMake 学习笔记(设置C++ 标准的版本)

关于这个特性的更详细的介绍可以参考 CMake 的官方文档:https://www.kitware.com//create-dlls-on-windows-without-declspec-using-new-cmake-export-all-feature/下面是一个 C++ 的例子,这个例子用到了 std::make_unique<>() , 这个是 C++14 里面引入的。C++ 标准发展至今已经有很多个版本,包括最开始 C++98,后面的 C++11,C++14, C++17 等。

2023-07-08 11:31:18 1008

原创 CMake 学习笔记(控制生成 Release 和 Debug)

如果要生成Visual stdio 的工程文件。上面说的方法就不适用了。需要用另一个变量来控制。执行这条语句后生成的项目文件就支持 Release 和 Debug 两种生成版本。这个例子执行后,生成的就是 Debug 版的可执行文件。下面的例子使用 MSYS2 里面的cmake 来演示。CMake 支持4中Build type。

2023-07-07 22:26:35 1221

原创 CMake 学习笔记(检测系统环境)

CMAKE_SYSTEM_NAME 操作系统的名称CMAKE_CXX_COMPILER_ID 编译器的名称CMAKE_SIZEOF_VOID_P 指针的长度CMAKE_HOST_SYSTEM_PROCESSOR 指令集类型。

2023-07-03 08:24:50 484

原创 CMake 学习笔记(生成EXE和库文件)

这个学习笔记通过一系列的例子来记录CMake 的各种功能。主要参考了 《CMake Cookbook —— Building, testing, and packaging modular software with modern CMake》 一书。

2023-07-02 22:24:47 861

原创 OpenCV 真圆度测量

为此,我采用了个变通的方法。对这个轮廓先计算最小二乘拟合圆。之后计算轮廓上的各个点到圆心的距离。最大距离减去最小距离的差可以作为真圆度的一个近似的计算。对于一个轮廓,我们可以求出这个轮廓的外接圆和内切圆。这两个圆的半径差定义为真圆度。这个数值越小,表示这个圆越标准。外接圆在 OpenCV 中有现成的函数来计算,但是内切圆是没有的。去算内切圆难度还是蛮大的。最近一个项目需要在图像上测量一些小孔的真圆度。因此专门研究了一下真圆度计算问题。真圆度的计算代码封装到了一个类里。下面是个简单的测试用例。

2023-04-22 21:39:16 1213 1

原创 C++ 中的 std::pair 和 std::tuple

这两个类都是模板类。我个人认为 std::pair 和 std::tuple 最大的用途是用在函数返回值。这两种方法都没有 std::pair 或者 std::tuple 方便。最近在看 C++ 11 的标准,发现了 std::pair 和 std::tuple。std::tuple 可以说是 std::pair 的增强版本。这里还要提到 std::tie() 函数,这个函数可以临时将几个变量绑定成一个 std::tuple。从这个例子也能看出,std::pair 是一个特殊的 std::tuple。

2022-12-24 16:44:38 822

原创 陶哲轩实分析 3.5 节习题试解

x:{i∈N,1≤i≤n}→Xx:{i∈N,1≤i≤n}→X这个问题分成两问,第一问是:验证(xi)1≤i≤n=(yi)1≤i≤n(xi​)1≤i≤n​=(yi​)1≤i≤n​当且仅当对于一切的1≤i≤n1≤i≤n有xi=yix_i = y_ixi​=yi​。题目中把有序n元组定义为一个满射函数。

2022-12-10 14:28:47 1133 1

原创 Qt QImage 加载 BMP 图像的一个BUG

所以在 Qt里,如果你用 QImage 打开 BMP图像,像素数要小于 16384 * 16384。这个可以说是个 Bug ,也可以说是 QImage 的Feature吧。确实是 quint64(bi.biWidth) * qAbs(bi.biHeight) > 16384 * 16384 时直接返回 false。这个问题源于水木社区的一个帖子:https://www.mysmth.net/nForum/#!经过测试 QImage 加载像素数大于 16384*16384 的图像会失败。

2022-11-20 09:13:46 925

原创 VirtualBox 虚拟机内操作系统与宿主操作系统共享文件夹的方法

今天要装某 D 版软件,怕有病毒,没敢在直接在电脑上装。想了个办法,先装了个虚拟机,然后在虚拟机上安装软件。好几年没用虚拟机了,原来用的是 VMware。不过去 VMware 官网看了下,感觉 VMware 是不是改行了。上面全是各种云平台,没找到单机版的虚拟机。不过还好,仍旧是免费的。网上找了几个介绍,说的都很简单,设置-》共享文件夹 里面填好路径就行了。下载下来,挂载到虚拟机的光驱里。看起来很简单的一件事,我却折腾了半天。下载安装都很顺利,正好我这里有Win7 的光盘镜像。随便百度了序列号就装上了。

2022-11-01 22:01:11 745

原创 Qt 中 QChart 由于 addSeries 和attachAxis 顺序问题导致无法显示曲线

介绍 QChart 使用中的一个注意事项。避免无法显示曲线。

2022-10-31 19:42:11 2626 2

原创 光栅尺测量数据的修正

比如说让图像的中心对准 0mm 处,这时光栅尺的读书为 A0,然后移动平台,让图像中心对准 10mm 处,这时光栅尺读数为 A1。如果不是10mm,说明我们的光栅尺的读数与真实的位移是有误差的。另外,我们知道光栅尺虽然有误差,但是误差不会很大,我们在标定时只要保证玻璃尺的读数为整数,那么上面的表格的第一列就不需要记录。理论上来说,我们可以把玻璃线纹尺的原点与光栅尺的原点对齐,正方向也都同向。重复定位精度相对来说好达到,只要导轨选的好,伺服电机的分辨率足够,一般是能达到 3um 重复定位精度的。

2022-10-25 13:00:14 1703

原创 SQLite 对时间的支持

大多数的关系型数据库都会有时间或者日期类型。但是 SQLite 里面是没有的。虽然SQLite 没有专门的时间类型,但是它提供了一些时间和日期相关的转换函数。利用这些函数,我们也可以很方便的处理时间问题。首先我们来说说 SQLite 为什么不直接提供时间类型。因为时间类型是个非常复杂的,要考虑的因素非常多。时间是个物理量,对于物理量来说就有分辨率和范围这两个概念。对于一个会议室预约管理系统来说,精确到分钟就够了,可是对于一个精密的物理实验,有可能我们要处理纳秒甚至皮秒量级的数据。

2022-10-22 22:50:41 3400

原创 漫水填充算法填充图案 (C++)

从 stack 中取出一个点,把这个点填上颜色,然后判断邻近点有没有也是满足填充条件的点,有的话也填充上,并且存入 stack。另外被填充的图案中可有有些区域的颜色与我们要填充的区域的颜色一致。解决这个死循环问题我的办法是复制一份原始图像,在复制的图像中填充单色,在目标图像中填充图案。因为复制的图像填充的颜色和原始的颜色不同,所以就不会有死循环问题。下面是填充固定颜色的代码。在我的电脑上,填充速度也还可以,大概30-40ms 可以完成全部的填充计算。最后是填充后的效果,将原始图像红色的区域全都填充上头像。

2022-10-01 07:32:45 1075

原创 Qt 编写的程序如何只能运行一个实例

最近有个小项目,客户要求程序只能运行一个实例。以前没遇到过这种要求,这次特意花了点时间研究了一下。大概想了一下,有两种思路。一种是直接去找这个程序已经运行的线索。另一种思路是在程序中创造一种条件,这个条件可以被其他的实例感知。...

2022-08-27 22:14:39 2086 1

原创 VisionMaster 学习笔记(仪表盘检测)

我们没有连接相机,所以图像源先选择本地的图片。项目上线的时候,图像源要换成一个真实的相机。项目用 VM 来实现很简单,可以作为一个 VisionMsater 的典型学习案例。这个项目简单的来说是在一个检测工位,代替人工,确认一个仪表的状态。只要这个仪表亮了,并且显示了些内容就是 OK 的,如果没亮,或者亮了但是没有显示内容,则是 NG 的。然后是颜色测量模块,这个模块有两处要设置。我们先把用到的几个模块拉进来,各个模块的参数先不用设置。对于背光没有亮的时候,通道1 的均值只有10几。之后就可以运行一下了。

2022-08-21 12:38:31 3146 4

原创 利用 libdmtx 解码 DataMatrix

上面两篇博客简单的介绍了如何编译 libdmtx 和如何利用 libdmtx 生成 Data matrix 码。这篇博客讲讲如何解码。程序同样还是用到了Qt。图像都是先加载到 QImage 中,然后传给 libdmtx 来解码。libdmtx 功能挺好,性能也还不错,但是文档有点差。网上也很少有对它的 API 的详细介绍。这些 API 的用法基本是靠 阅读 dmtx-utils 中的 dmtxread.c 来学习的。解码功能封装到了一个类中:DataMatrixDecoder这个类的声明如下:其中 Us

2022-06-19 22:31:38 1345 1

原创 利用libdmtx 生成 DataMatrix 码

今天比较空闲,研究了 Libdmtx 生成 DM 码的方法。总体是比较简单的。这里附上代码做个记录。我的代码用到了 Qt 的 QPainter,没有考虑生成图片的效率问题。如果需要大批量生成 DM 码的图像,可以在 dmtxEncodeDataMatrix 调用之前设置 Libdmtx 的一些参数。这样可以做到dmtxEncodeDataMatrix 生成的数据就已经是图片的实际数据了,只要把数据copy到图像文件中就可以。我的代码是把相关的功能封装到了一个类。类的实现代码如下:这个代码还有很多不完

2022-06-18 23:01:37 1159 1

原创 Data Matrix 二维码解码库 libdmtx 编译方法

libdmtx 是一个开源的 Data Matrix 编解码库。项目主页在:https://github.com/dmtx这里简单记录一下libdmtx 在win平台上如何编译的问题。libdmtx 早期版本的源代码是不支持用微软的 VS 编译的,用 VS 编译需要改一些代码。当时在 win 上编译需要 mingw 或者 cygwin。不过新版的代码里面包含了 CMakeLists.txt 。说明已经使用了 CMake 作为编译管理系统。我试了一下,用 CMake 是可以生成 VS 的项目文件的,也能编译

2022-06-18 15:40:43 1385 7

原创 Qt 程序中获取 CPUID UUID 等系统信息的方法(win 平台,wmic)

Qt 程序中获取 CPUID UUID 等系统信息的方法(win 平台,wmic)最近的程序中要加入序列号注册的功能。这就需要获得电脑的一些基本信息,比如 UUID 、或者 CPUID 一类的固定的信息。五一假期简单研究了一下,有了个初步的方案。利用windows 自带的 wmic 命令来获取这些信息。 首先说明,这种方法有个很大的缺点,就是慢,很慢。随便获得什么信息都要零点几秒的时间。另外这个方法不能跨平台,只对 win 平台适用。所以这种方法只是临时应应急,以后还要再研究研究更好的方法。下面是代

2022-05-03 08:22:00 2982

原创 解决 Fedora Linux 35 下 Qt 程序 qDebug() 无输出问题

解决 Fedora Linux 35 下 Qt 程序 qDebug() 无输出问题最近电脑硬盘升级,富裕了不少空间。就装了个 Fedora linux。说起来我也算是个 linux 的老用户了,最开始用还是 redhat 9.0 。之后基本上就只用 Fedora linux。我记得用的第一个版本是 Fedora Core 3,后来一直用到 Fedora 23。中间还用过几个国产的 linux 发行版,比如 magiclinux。也用过 ubantu 和 debian 。前几年因为工作太忙,就没有在用 l

2022-01-01 13:56:38 1014

原创 基于 FFMPEG 的视频编码 源码(libavcodec,C++ Qt)

基于 FFMPEG 的视频编码 源码(libavcodec,C++ Qt)昨晚把源代码好好整理了一下,加入了视频时间限制功能。源码放这里,大家随便用。首先是头文件:/****************************************************************************** file: VideoRecorder.h** brief: 利用 ffmpeg 实现视频录制** Copyright (C) LiYuan** Author: LiYuan

2021-12-28 11:08:00 3234 1

原创 基于 FFMPEG 的视频编码(libavcodec ,致敬雷霄骅)

基于 FFMPEG 的视频编码(libavcodec ,致敬雷霄骅)本文参考了雷博士的博客:最简单的基于FFmpeg的视频编码器-更新版(YUV编码为HEVC(H.265))还参考了另一篇博客:Qt与FFmpeg联合开发指南(三)——编码(1):代码流程演示在为了代码简洁,代码中还用到了 Qt 。先不讲解具体的实现代码。大家先看看我封装后的类的使用方法。下面是一个简单的例子。这个例子先生成了一些 QImage 图像。然后把这些图像插入到视频中。#include <QCoreApplicat

2021-12-27 23:49:05 2430

原创 基于 FFMPEG 的视频解码(libavcodec ,致敬雷霄骅)

基于 FFMPEG 的视频解码(libavcodec ,致敬雷霄骅)本文参考了雷博士的博客:最简单的基于FFMPEG+SDL的视频播放器:拆分-解码器和播放器基本上雷博士这篇博客已经把这个问题讲的挺清楚了。但是 ffmpeg 新版本的 API 有变化,这篇博客的代码已经无法直接编译运行。所以我写了今天这篇博客,用 新的 API 实现了视频解码的功能。雷博士的代码除了视频解码还有音频解码,同时还利用 SDL 把视频显示出来了。 我觉得作为初学者还是每次学习的内容不要太多。既然我们的重点是视频解码,那就

2021-12-12 13:10:19 4918 2

原创 基于 FFMPEG 的像素格式变换(swscale,致敬雷霄骅)

基于 FFMPEG 的像素格式变换(swscale,致敬雷霄骅)前几天写了几篇关于ffmpeg 编程转封装的入门文章,下一步本来是要写转码或者编码的。但是发现无论是转码还是编码,都会遇到图像像素格式的变换。我们通常能在软件界面上显示的图像,都是 RGB 格式的(RGB24 或者 RGB32)。但是视频文件中的图像基本都是 YUV格式的(YUV420p 或者 YUV422p)。为了能继续我后面的软件开发,就需要先补充些 YUV 格式的知识。还有 YUV和 RGB 直接相互转换的方法。关于 YUV 和 RG

2021-12-09 20:32:19 3403

原创 基于FFMPEG的音视频截取(C++Qt 版)

基于FFMPEG的音视频截取(C++Qt 版)这篇博客是基于上篇博客的:https://blog.csdn.net/liyuanbhu/article/details/121744275上篇博客实现了文件封装转换。我们在这个基础上再加一点功能。实现可以任意截取一段时间范围内的音视频。下面是代码:QlyAVFormatContext inFile, outFile;inFile.openFile(QString("D:\\AV36_1.avi"));inFile.dumpFormat();QS

2021-12-07 06:30:00 2021 2

原创 最简单的基于FFMPEG的封装格式转换器(C++Qt 版)

最简单的基于FFMPEG的封装格式转换器(C++Qt 版)这篇博客是我上篇博客的延续。建议大家先看看我上篇博客:https://blog.csdn.net/liyuanbhu/article/details/121715005之所以写这篇博客,是因为 ffmpeg 的 API 并不是那么友好。用面向对象的方式重新组织一下,代码会易读很多。下面先贴改写后的代码,大家可以比较一下,是否清爽了很多。 QlyAVFormatContext inFile, outFile; inFile.ope

2021-12-06 12:26:11 1150 1

原创 最简单的基于FFMPEG的封装格式转换器(致敬雷霄骅)

最简单的基于FFMPEG的封装格式转换器(致敬雷霄骅)最近项目需要,开始学习ffmpeg。网上资料很多,但是大多数资料都是几年前的。ffmpeg 的API 这几年变化蛮大的。按照网上的教程来写代码会遇到各种问题。所以我才想写这么一个专栏。用ffmpeg 比较新的 API 来把一些常用的功能都写一遍。我大概学习 ffmpeg 有一周多了。感觉学习 ffmpeg 有三个资源可以好好利用。机械工业出版社出版, 刘歧、赵文杰编著的《FFmpeg从入门到精通》雷霄骅 的博客 https://blog.csd

2021-12-04 13:58:40 4785 3

原创 Qt 中利用 GNU barcode 生成一维条形码

Qt 中利用 GNU barcode 生成一维条形码最近有个项目,需要用到条形码。上网找了一圈,网上很少有介绍如何用 C++ 或者 C代码生成条形码的。偶尔有那么一两篇,也是针对某一种条形码给出的。而且一般都是 Code 39 码或者 Code 128 码这种比较简单的条码。我调研了一番,感觉开源的条码库里面还是GNU barcode 实现的比较全。基本常见的条形码全都支持。不过 GNU barcode 直接在项目里用不是很方便。因为它封装的太简单了。缺少把条码画出来的功能代码。因此,我花了几天时间

2021-11-18 16:54:53 3069 3

原创 OpenCV 学习笔记(mean shift 算法)

OpenCV 学习笔记(mean shift 算法)Mean shift 是一种机器学习算法,并不仅仅局限于图像上的应用。关于 Mean shift 算法介绍的书和文章很多,这里就不多介绍了。简单的说,Meanshift 算法是一种迭代算法,需要给一个初始的区域,然后这个算法会反复的调整这个区域,使得这个区域最吻合我们期望的特征。OpenCV 中有两处用到了 Mean Shift 。分别是:pyrMeanShiftFilteringmeanShift这里只介绍第二个函数的使用方法。我

2021-08-29 11:06:34 2495 3

原创 OpenCV 学习笔记(直方图反向投影 BackProject)

OpenCV 学习笔记(直方图反向投影 BackProject)上个笔记简单讲了讲如何计算直方图。这个笔记就来讲讲直方图的一种简单应用。直方图反向投影,是一种从图像中提取某个特定区域的方法。直方图可以理解为图像中各种颜色的分布情况,如果归一化了,就可以认为是一种概率分布。如果我们知道某个物体或者某个特征的直方图,也就是知道了这个物体各种颜色的分布概率。根据这个概率,我们可以根据图像中每一个点的颜色,都给一个 对应的概率。概率高的地方就更可能是存在这种物体的地方。概率为 0 的地方可以认为不存在这种物体。

2021-08-23 18:37:55 438

原创 OpenCV 学习笔记(颜色直方图计算 calcHist)

OpenCV 学习笔记(颜色直方图计算 calcHist)最近在看一本OpenCV 的书,书名是 《OpenCV 3 Computer Vision Application Programming Cookbook (third edition)》,里面给了很多很实用的代码片段。最近这几篇学习笔记都是从这个书里摘出的代码。有些代码我又做了些小的修改。直方图计算是个很常见的需求,OpenCV 当然也提供了想用的函数。不过OpenCV 里的函数搞的有点复杂。函数原型如下:void calcHist( In

2021-08-15 13:14:54 1165 1

原创 OpenCV 学习笔记(提取图像中特定颜色区域)

OpenCV 学习笔记(提取图像中特点颜色)我们经常需要提取图像中某种特殊颜色的区域,比如黄色或者红色区域。如果只是提取特点的颜色,那么很简单,直接做颜色比较就可以了。如果要选取某个颜色范围,这个工作在 RGB 空间中就不是那么方便了。这时我们通常会选取 HSV 或类似的颜色空间。关于 HSV 空间的介绍网上有很多,这里就不详细写了。但是可以认为 Hue 表示颜色,Saturation 表示颜色的饱和度,Brightness 是亮度。选取颜色范围时我们通常用 Hue 和 Sat 两个维度。下面是在网上

2021-08-14 22:47:48 16319 3

原创 Qt 中如何隐藏 QMenu

Qt 中如何隐藏 QMenu我最近做的一个项目,需要根据 license 授权来控制软件的一些功能。有些菜单在某些状态下要隐藏起来。这么个简单的需求,折腾了半个多小时。最开始想的很简单,认为就是一句话就能解决。QMenu 继承自 QWidget,QWidget 的显示隐藏很简单。 ui->menu->hide();结果这么写了后毫无反应。后来研究了一下,需要这么写:ui->menu->menuAction()->setVisible(false);这里简单

2021-08-13 10:47:09 2115

barcode-0.99-win32-64.zip

gnu barcode (https://www.gnu.org/software/barcode/) 用 msvc 2017 编译好的 lib 和 dll 还有头文件和帮助文件。 包括 32位和 64 位版本。可以直接在自己的项目中使用。

2020-06-07

qtmqtt-dev-modified.zip

QT MQTT 官方支持模块。源代码来自 https://github.com/qt/qtmqtt, 但是这个代码编译时会报很多错误,我将这些错误逐一修改了。现在这个代码可以直接编译。

2020-06-07

qtmqtt-qt5.12.4-msvc2017.zip

Qt MQTT 模块,源代码来自 github.com/qt/qtmqtt,这个代码直接编译会报很多错误,需要逐一修改,为了减少大家的重复劳动,我把编译好的代码放这里。编译环境为 Qt5.12.4 MSVC2017。

2020-06-07

PVsyst6_6_7_setup.msi

PVsyst是一个完整的研究、测量、模拟和分析光伏系统的软件包。 主页:http://www.pvsyst.com/ 主页下载不支持断点续传。下载速度非常慢,还经常中断。 这个不是破解版,可以试用 30 天。30天后需要取购买 licence。

2020-02-15

Exposure Fusion.pdf

Tom Mertens,Jan Kautz 和 Frank Van Reeth 题为 Exposure Fusion 的论文。曝光合成算法的经典论文。

2020-02-08

VS2015 编译的 GSL 2.3

用 VS2015 编译的 GSL 2.3 。包括静态库和 DLL。静态库和 DLL又分别对应了 win32 和 x64 两种配置。 gsl 是 GNU Scientific Library,著名的数值计算库。

2017-02-19

VS2015 编译的 GSL(GNU Scientific Library)

VS2015 x86 编译器 编译的 GSL-2.1 (GNU Scientific Library) 。包含静态库和动态库 dll。 注意:非 VS2015 编译的 GSL 都不能用在 VS2015 中,网上其他所有的 gsl for windows 都不行的。花了我将近一周时间才把 gsl 移植到 vs2015 上。

2016-08-31

用于 Visual stdio 的 GSL 1.16 (GNU Scientific Libary)

用于 Visual stdio 的 GSL 1.16 (GNU Scientific Libary)。在 VS 2010 开发环境中测试通过。应该也可以用在其他的 VS 版本上。包括静态链接库和动态链接库。

2015-08-15

VIM Quick Reference Card

VIM Quick Reference Card 快速参考页,简明扼要

2012-06-03

UML Quick Reference Card

UML Quick Reference Card 快速参考,简明扼要

2012-06-03

STL Quick Reference

STL Quick Reference 快速参考

2012-06-03

Subversion 快速参考

Subversion 快速参考,简明扼要,案头必备

2012-06-03

Doxygen Quick Reference.

Doxygen Quick Reference Card Doxygen 快速参考,简明扼要,案头必备

2012-06-03

Bash Quick Reference

Bash 脚本的快速参考手册,简明扼要,案头必备!

2012-06-03

Ada Reference Card

Ada 语言的快速参考手册,简明扼要,案头必备!

2012-06-03

GDB Quick Reference

GDB 调试器的快速参考,只有两页,简明扼要。案头必备!

2012-06-03

C Reference Card

C 快速参考,只有两页,将 C 语言的语法,标准库函数都涵盖了。案头必备!

2012-06-03

gnuplot 4.6 for win

gnuplot 4.6 win 版. 一个命令行的交互式绘图工具

2012-05-26

The Multiboot Specification version 0.6.96

多重引导规范的官方文本。 GRUB GRUB2 等引导程序都支持多重引导规范。

2012-05-19

MISRA C:2004 中文版

MISRA C :2004 Guidelines for the use of the C language in critical systems 中文版

2012-05-08

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除