软件开发
机器视觉001
熟悉Visual C++、HALCON、机器视觉;10 年开发经验!
展开
-
区间映射算法
区间映射算法原创 2022-07-31 20:02:12 · 1838 阅读 · 0 评论 -
for循环中++i 和 i++ 的区别
for循环中++i 和 i++ 的区别for (语句1; 语句2; 语句3){ 被执行的代码块} 根据for循环的语法定义 ++i 和 i++的结果是一样的,都要等代码块执行完毕才能执行语句3,但是性能是不同的。在大量数据的时候++i的性能要比i++的性能好原因:i++由于是在使用当前值之后再+1,所以需要一个临时的变量来转存。而++i则是在直接+1,省去了对内存的操作的环节,相对而言能够提高性能....原创 2021-09-15 10:01:32 · 770 阅读 · 0 评论 -
Qt Creator 自动补齐变慢的解决
Qt Creator 自动补齐变慢的解决在“帮助->关于插件”选项卡中,取消“DeviceSupport”,如下图:原创 2021-08-05 16:33:45 · 532 阅读 · 0 评论 -
All xxx functions were compiled because no usable IPDB/IOBJ from previous compilation was found.
All xxx functions were compiled because no usable IPDB/IOBJ from previous compilation was found.解决办法:原创 2021-03-20 22:49:51 · 2836 阅读 · 0 评论 -
什么是技术档案(Technical Archives)?
什么是技术档案(Technical Archives)?技术档案是企业在运营过程中,在科研、生产、产品开发、技术研制等环节所形成的文字、图纸等的总称。技术档案的分类按照具体对象的不同,技术档案可以分为生产技术档案、产品设计技术档案、仪器设备档案、工程设计技术档案、科学研究技术档案、基本建设技术档案六类。(1) 生产技术档案生产技术档案指在产品制造、加工、装配、检验等生产过程中形成的产品、工艺、化学配方等技术档案,包括图样、工艺路线、工艺规程、工艺装备、说明书、计算书等技术文件材料。(原创 2020-12-27 11:44:42 · 2166 阅读 · 0 评论 -
开源许可证
开源许可证开源许可证是对商业应用友好的许可。使用者也可以在需要的时候修改代码来满足需要并作为开源或商业产品发布/销售。开源许可证是一种具有法律性质的合同,目的在于规范受著作权保护的软件的使用或者分发行为。开源定义开放源代码(英语:Open Source)描述了一种在产品的出品和开发中提供最终源材料的做法。一些人将开放源代码认为是一种哲学思想,另一些人则把它当成一种实用主义。开源软件的详细定义比较复杂,简单点说,就是一种源代码可以任意获取的计算机软件,这种软件的版权持有人在软件协议的规定之转载 2020-11-27 09:54:31 · 694 阅读 · 0 评论 -
32位应用程序如何使用大于2GB的内存?
32位应用程序如何使用大于2GB的内存?不管是在 32 位 Windows 还是在 64 位 Windows,32 位应用程序都只能使用最大 2GB 的内存,这是我们司空见惯的一个设定。但其实 Windows 提供了一些方法让我们打破这样的设定,使程序使用大于 2GB 的内存。为什么 32 位程序只能使用最大 2GB 内存?32 位寻址空间只有 4GB 大小,于是 32 位应用程序(进程)最大只能用到 4GB 的内存。然而,除了应用程序本身要用内存,操作系统内核也需要使用。应用程序使用的内存空间转载 2020-11-01 15:33:28 · 6532 阅读 · 0 评论 -
C语言内存泄露很严重,如何应对?
C语言内存泄露很严重,如何应对?1.前言最近部门不同产品接连出现内存泄漏导致的网上问题,具体表现为单板在现网运行数月以后,因为内存耗尽而导致单板复位现象。一方面,内存泄漏问题属于低级错误,此类问题遗漏到现网,影响很坏;另一方面,由于内存泄漏问题很可能导致单板运行固定时间以后就复位,只能通过批量升级才能解决,实际影响也很恶劣。同时,接连出现此类问题,尤其是其中一例问题还是我们老员工修改引入,说明我们不少员工对内存泄漏问题认识还是不够深刻的。本文通过介绍内存泄漏问题原理及检视方法,希望后续能够从编...转载 2020-11-01 12:03:52 · 377 阅读 · 0 评论 -
IEEE754 浮点数和Hex转换
static quint32 toUint(const QByteArray &data, bool bigEndian){ if (data.size() != 4) return 0; quint32 word = 0; if (bigEndian) { word = quint32((quint8(data.at(0)) << 24) | (quint8(data.at(1)) << 16) | (quint8(da.原创 2020-09-04 07:58:50 · 745 阅读 · 0 评论 -
MFC控件实时更新
MFC控件实时更新MFC很多情况下需要更新控件,也就是调用UpdateData(FALSE);但是如果是在循环中调用该函数,会导致没有时间来刷新界面,消息得不到相应,从外部看来,似乎整个循环只执行了一次UpdateData(FALSE);如下面的例子:for(int i = 0;i < m; i++) { int j = i+1; UpdateData(FALSE); }这种写法会导致界面没有时间更新。其实在代码上添加一点东西就可以实现实时刷新。添加代码原创 2020-08-12 21:39:20 · 1664 阅读 · 0 评论 -
Win10自启动管理设置
Win10自启动管理设置添加Win10开机自启动方法:1. 使用“WIN键 + R键”打开运行窗口;2.在运行窗口输入框中输入shell:startup,点击确定;3.把要添加的程序的快捷方式拖到该文件夹下就可以了。...原创 2020-08-06 09:58:11 · 1840 阅读 · 0 评论 -
SHFormatDrive格式化硬盘
SHFormatDrive格式化硬盘从实际应用的角度看,从Windows 9X到Windows NT都应该提供这个FormatDisk函数,否则怎么实现资源管理器窗口的磁盘格式化呢?笔者通过仔细查找发现,Windows 确实提供了这样一个函数,尽管文档资料没有注明,但是如果我们使用View Dependencies打开Shell2.dll,就会发现这个函数。它就是SHFormatDrive,编译连接到Shell32.lib。尽管通过平台的SDK文档和SHELLAPI.H文件并...原创 2020-07-13 19:19:42 · 699 阅读 · 0 评论 -
C++ 复制一个文件夹下的所有文件到另一个文件夹
C++ 复制一个文件夹下的所有文件到另一个文件夹#include "Shellapi.h"#include "tchar.h"// 告诉编译器在编译形成的.obj文件和.exe文件中添加一条信息// 使得连链接器在链接库时去直接找shell32.lib这个库,不要去找别的库#pragma comment(lib,"shell32.lib") 在相应的函数中添加如下代码:SHFILEOPSTRUCT fop;fop.wFunc = FO_COPY;//选择执行类型,FO_COP原创 2020-07-13 19:15:48 · 4063 阅读 · 0 评论 -
批处理脚本:判断进程是否存在
批处理脚本:判断进程是否存在@ECHO OFF :check ntaskldr.exe tasklist >list.txt // 将所有进程信息列入list.txt文件里面(这里默认当前目录)find /i "ntaskldr.exe" list.txt // 从list.txt文件里查找ntaskldr.exe这个进程if "%errorlevel%"=="1" (go原创 2020-07-08 22:35:16 · 3006 阅读 · 0 评论 -
简单高效有用的正则表达
简单高效有用的正则表达正则表达式是一组由字母和符号组成的特殊文本,它可以用来从文本中找出满足你想要的格式的句子。本集讲解正则表达式。0. 举例一个正则表达式是一种从左到右匹配主体字符串的模式。“Regular expression”这个词比较拗口,我们常使用缩写的术语“regex”或“regexp”。正则表达式可以从一个基础字符串中根据一定的匹配模式替换文本中的字符串、验证表单、提取字...转载 2020-02-16 12:58:07 · 596 阅读 · 0 评论 -
Excel生成随机数
Excel生成随机数Excel是如何生成随机数的?比如用什么方法可以让Excel生成一列限定了大小的随机数?比如如何生成0-0.01之间的随机数?第一步:打开Excel工作表,在左上角的名称框中,输入生成随机数的区域,比如:A1:A100,按Enter键后,将A1:A100单元格区域处于选择状态(如下图):第二步:输入公式“=RANDBETWEEN(1,100)/10000”,然后...原创 2020-02-02 17:58:47 · 9728 阅读 · 0 评论 -
基于 Windows 7 的计算机可用内存低于安装内存
基于 Windows 7 的计算机可用内存低于安装内存症状在运行 Windows 7 的计算机上,可用内存 (RAM) 大小可能会低于已装内存大小。例如,32 位版本的 Windows 7 可能会报告,计算机上安装了 4 GB 内存,但可用系统内存只有 3.5 GB。或者,64 位版本的 Windows 7 可能会报告,计算机上安装了 8 GB 内存,但可用系统内存只有 7.1 G...原创 2020-01-07 08:51:20 · 1436 阅读 · 0 评论 -
CPU-Z使用说明
CPU-Z使用说明CPU-Z是一款专业的CPU检测工具,CPU-Z中文版界面参数一目了然,不过很多参数不太了解,下面小编分享下CPU-Z详细使用说明,让大家更好的使用CPU-Z来查看你的处理器相关相信。CPU-Z的【处理器】选项卡下显示的参数就是处理器的核心参数知识,下面我们具体来解读看。图为Intel六代I5-6600K的CPU-Z检测结果①名字CPU-Z经常会出...转载 2020-01-06 20:08:53 · 19932 阅读 · 0 评论 -
软件发布版本命名规则
软件发布版本命名规则1 版本类型1.1 正式版本Enhance:增强版或者加强版,属于正式版; Full:完全版,属于正式版; Release:发行版,有时间限制; Upgrade:升级版; Retail:零售版; Plus:增强版,不过这种大部分是在程序界面及多媒体功能上增强。1.2 测试版本Alpha:内部测试版; Beta:外部测试版; M版:Miles...转载 2019-11-28 08:32:15 · 3531 阅读 · 0 评论 -
著名的用户界面设计准则
著名的用户界面设计准则Norman(1983)结论模式错误意味着需要更好的反馈; 描述错误说明需要更好的系统配置; 缺乏一致性会导致错误; 获取错误意味着需要避免相互重叠的命令序列; 激活的问题说明了提醒的重要性; 人会犯错,所以要让系统对错误信息不敏感;(指系统的容错性高)。教训反馈:用户应该能够清楚地了解到系统的状态,最好是以清晰明确的方式展现系统状态,从而避免对模...原创 2019-11-25 09:19:45 · 508 阅读 · 0 评论 -
UI(用户界面)设计规则和规范
UI(用户界面)设计规则和规范界面是软件与用户交互最直接的层,界面好坏决定用户对软件第一印象,而且设计良好的界面能够引导用户自己完成相应操作,起到向导作用。目前流行的界面风格有三种方式:多窗体、单窗体以及资源管理器风格,无论那种风格,以下规则是应该被重视的。1. 易用性按钮名称应该通俗易懂、用词准确,摒弃模棱两可字眼;要与同一界面上其他按钮易于区分。理想情况是用户不用查阅帮助就能知...转载 2019-11-25 09:19:11 · 5083 阅读 · 0 评论 -
Ubuntu上安装GCC编译器
Ubuntu上安装GCC编译器GNU编译器集合(GCC)是C、C ++、Objective-C、Fortran、Ada、Go和D编程语言的编译器和库的集合。许多开源项目包括GNU工具和Linux内核都是用GCC编译的。【必要条件】为了能够在Ubuntu系统上添加新存储库和安装软件包,您必须以具有sudo权限的用户身份登录。【安装GCC】默认的Ubuntu存储库包含一个名为bui...转载 2019-11-01 18:55:18 · 2383 阅读 · 0 评论 -
64位系统下一个32位的程序究竟可以申请到多少内存?
64位系统下一个32位的程序究竟可以申请到多少内存?cpu的位是指一次性可处理的数据量是多少,1字节=8位,32位处理器可以一次性处理4个字节的数据量,依次类推。32位操作系统针对的32位的CPU设计。64位操作系统针对的64位的CPU设计。操作系统只是硬件和应用软件中间的一个平台。我们的CPU从原来的8位,16位,到现在的32位和64位。背景:电脑的内存是8GB,装的是32位的Win...原创 2019-10-17 11:38:08 · 1421 阅读 · 0 评论 -
QT删除只读文件
QT删除只读文件删除文件用 QFile::remove(filename);就ok了。返回true证明删除成功,返回false删除失败。如果是只读的,就删除不了。用 bool QFile :: setPermissions(const QString&fileName,QFileDevice :: Permissions 权限)函数设置文件的权限。文件权限的详解:这个枚举是在Qt ...原创 2019-10-16 17:01:41 · 872 阅读 · 0 评论 -
释放QList指针
释放QList指针使用qDeleteAll() QList<T*> list;qDeleteAll(list); list = NULL; QList<T*> *listp; qDeleteAll(*list); listp->clear(); listp = NULL;通过遍历列表...原创 2019-10-16 16:29:15 · 648 阅读 · 0 评论 -
QDebug输出彩色消息
QDebug输出彩色消息在Qt终端使用QDebug输出彩色信息有点类似于html的语法,即在要输出的文字前加上转义字符。指令格式如下:\033[*m这里的*就是转义字符,例如我们要输出一段绿色的文字:qDebug("\033[32mHello!");输出结果:Hello!效果图:此外还可以设置字体的背景底色、是否加粗、清除屏幕等等。其中*的取值如下: 0 ...原创 2019-10-16 16:18:45 · 816 阅读 · 0 评论 -
QObject 的拷贝构造和赋值操作
QObject 的拷贝构造和赋值操作QObject中没有提供一个拷贝构造函数和赋值操作符给外界使用,其实拷贝构造和赋值的操作都是已经声明了的,但是它们被使用了Q_DISABLE_COPY () 宏放在了private区域。因此所有继承自QObject的类都使用这个宏声明了他们的拷贝构造函数和赋值操作符为私有。为什么要这样做?我们都知道Qt对标准C++增加了一些功能:signals, s...原创 2019-10-16 16:11:40 · 455 阅读 · 0 评论 -
QT使用VLD检测内存泄漏
QT使用VLD检测内存泄漏下载VLDVLD版本:vld-2.5.1-setup下载地址:https://kinddragon.github.io/vld/安装VLD直接双击安装,选择安装位置,下一步,下一步即可。可选(应该不需要)将D:\ProgramFiles\Qt\VLD\bin\Win32和D:\ProgramFiles\Qt\VLD\bin\Win64添加到系统环境...原创 2019-10-16 16:08:10 · 406 阅读 · 0 评论 -
VLD(Visual LeakDetector)内存泄露工具的使用
VLD(Visual LeakDetector)内存泄露工具的使用由于C/C++语言没有所谓的垃圾收集器,内存的分配和释放都需要程序员自己来控制,这会给C/C++程序员带来一定的困难。当您的程序越来越复杂时,它的内存管理也会变得越来越困难。内存泄漏、内存越界是最常见的内存问题之一。内存泄漏如果不是很严重的话,在短时间内对程序不会造成太大的影响,而且在进程终止的时候,所有分配的内存都会释放掉...原创 2019-10-15 22:25:49 · 918 阅读 · 0 评论 -
主线程中慎用WaitForSingleObject (WaitForMultipleObjects)
主线程中慎用WaitForSingleObject (WaitForMultipleObjects)下面的代码我调试了将近一个星期,你能够看出什么地方出了问题吗?线程函数:DWORD WINAPI ThreadProc( while(!bTerminate) { // 从一个链表中读取信息并且插入到CListCtrl中 // C...原创 2019-10-13 22:08:33 · 374 阅读 · 0 评论 -
error C2360: 参数初始化操作由“case”标签跳过
error C2360: 参数初始化操作由“case”标签跳过今天用VS2010学习GDI+编程时,在WM_PAINT消息处理时,提示如下错误:错误 2 error C2360: “hDCMem”的初始化操作由“case”标签跳过下面是错误处源代码:case WM_PAINT:hdc = BeginPaint(hWnd, &ps);// TODO: 在此添加任意绘图...原创 2019-10-13 21:54:57 · 2926 阅读 · 0 评论 -
高内聚低耦合
高内聚低耦合耦合是软件结构中各模块之间相互连接的一种度量,耦合强弱取决于模块间接口的复杂程度、进入或访问一个模块的点以及通过接口的数据。基本解释高内聚低耦合,是软件工程中的概念,是判断设计好坏的标准,主要是面向对象的设计,主要是看类的内聚性是否高,耦合度是否低。高内聚内聚就是一个模块内各个元素彼此结合的紧密程度,高内聚就是一个模块内各个元素彼此结合的紧密程度高,即高内聚是指一个原创 2014-12-22 20:28:47 · 3203 阅读 · 0 评论 -
WHQL简介
WHQL是Microsoft Windows Hardware Quality Lab的缩写,中文意思为Windows硬件设备质量实验室(认证)。这个实验室主要从事计算机硬件产品、驱动程序与Windows操作系统的兼容性和稳定性测试,如果通过测试就证明这款产品与Windows操作系统可以达到100%兼容,从而使计算机系统达到前所未有的稳定性。微软规定凡是通过WHQL认证的产品都被授予“原创 2015-03-06 09:40:33 · 2934 阅读 · 0 评论 -
操作员界面图形设计的基本原则
摘要:绝大多数自动化和过程控制项目都要提供操作员界面,以显示系统当前的状态。这些界面可能非常简单,也可能极为复杂。它们展现的是一个想象中的或者是现实存 在的方面,是对整体工作质量的一个反应。图形的质量当然会留下一个持续的印象,因为它们每天都会出现在操作员面前。如果有制作一份关于如何创建图形的指 南,它一定是一部巨著。当然,首先是一些客户对于图形的功能有一些标准。然而,还有一些关键的设计点可以让图形原创 2015-05-27 21:54:56 · 1265 阅读 · 0 评论 -
计算机中负数表示法
计算机中负数表示法原创 2017-12-23 08:27:00 · 389 阅读 · 0 评论 -
CString、string、char*的综合比较
CString、string、char*的综合比较原创 2017-12-24 10:49:57 · 280 阅读 · 0 评论 -
理解矩阵乘法
理解矩阵乘法原创 2017-12-24 13:56:00 · 353 阅读 · 0 评论 -
虚数的意义
虚数的意义原创 2017-12-24 23:00:40 · 778 阅读 · 0 评论 -
室内定位---UWB测距及定位原理
室内定位---UWB测距及定位原理原创 2017-12-30 22:19:41 · 12946 阅读 · 0 评论 -
几种无线通讯介绍与比较(蓝牙,WiFi,IrDA,NFC,Zigbee,UWB)
几种无线通讯介绍与比较(蓝牙,WiFi,IrDA,NFC,Zigbee,UWB)原创 2017-12-30 22:33:44 · 14409 阅读 · 0 评论