自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(196)
  • 资源 (2)
  • 问答 (3)
  • 收藏
  • 关注

原创 存储系统概述

地址从A0000H到CFFFFH的内存,共有()字节,若用存储容量位64k x 8bit的存储器芯片构成该内存空间,至少需要多少片?eg:主存与cache的地址映射方式中,(A)方式可以实现主存任意一块装入cache中任意位置,只有装满才需要被替换。在计算机的存储系统体系中,cache是访问速度最快的层次(若有寄存器,则寄存器最快)空间局部性:刚被方问的内容,临近的空间很快被访问。eg:以下关于cache的叙述中,不正确的是?空间局部性:用到的地址,相邻的地址频繁使用。

2024-09-22 17:38:29 534

原创 流水线--基础知识

一条指令的执行过程可以分解为取指,分析,和执行三步,在取指时间t1 = 3🔺T,分析时间t2 = 2🔺T,执行时间t3=4🔺T,若按串行方式执行,则10条指令全部执行完需要(3+2+4)*10=90🔺T.一条指令的执行过程可以分解为取指,分析和执行三步,取指时间t1 =3🔺T,分析时间t2=2🔺T,执行时间t3 =4🔺T;eg: 将一条指令的执行过程分解为取指,分析,执行三步。按照流水线方式执行,若取指时间t1=4🔺T,分析时间t2=2🔺T,执行时间t3 =3🔺T.则执行完100条指令,需要的时间为?

2024-09-22 14:50:10 241

原创 CPU结构基础知识

指令:数量少,使用频率接近,定长格式。累加寄存器AC:通用寄存器,为ALU提供一个工作区,用在暂存数据。特点:指令中存放了一个地址,这个地址对应的内容是操作数的地址。实现方式:增加了通用寄存器,硬布线逻辑控制为主,适合采用流水线。指令:机器语言的一个语句,是一组有意义的二进制代码。数据缓冲寄存器DR:写内存时,暂存指令或数据。指令译码器:对指令中的操作码字段进行分析解释。特点:操作数直接放在指令中,速度快,灵活性差。指令:数量多,使用频率差别大,可变长格式。特点:指令中存放的是操作数的地址。

2024-09-08 22:11:17 250

原创 校验码:奇偶校验,CRC循环冗余校验,海明校验码

海明校验码的原理是:在有效信息位中加入几个校验位形成海明码,使码距比较均匀地拉大,并把海明码的每个二进制位分配到几个奇偶校验组中,当某一位出错后,就会引起有关的几个校验位地值发生变化。把接受到地CRC码用约定的生成多项式G(X)去除(模二除法),如果正确,则余数为0,如果某一位出错,则余数不为0.不同地位数出错其余位数不同。CRC的编码方法:在k位信息码之后拼接r位校验码。应用CRC码的关键是如何从k位信息位,简便地得到r位校验位。奇偶校验,可检测1位(奇数位)的错误,不可纠错。

2024-09-08 13:05:02 234

原创 逻辑运算基础知识

当a=1,b=2,c=3,d=4.m和n的值为1.求执行语句之后n的值,因为a>b是0,所以m=0,直接短路,后面不执行,所以n的值不变还是1.逻辑变量之间的运算称为逻辑运算,二进制数1和0在逻辑上可以代表 真 和 假。逻辑或(|| ,+,U ,V ,OR):连接的两个逻辑全为0时才取0。逻辑与(&&,*,AND):连接的连个逻辑全为1 才取1。a||b||c:只要为真,就不必判断b和c的值。a&&b&&c,只有a为真时才继续往下执行。逻辑异或(XOR):相同取1,不相同取0。,~,NOT):将逻辑取反。

2024-09-08 11:21:11 261

原创 浮点的运算

eg:设16位浮点数,其中阶符1位,阶码值6位,数符1位,尾数8位。若阶码用移码表示,尾数用补码表示,则该浮点数所能表示的数值范围是?浮点数表示:N= 尾数 X 基数。尾数(定点小数):n=9,补码表示范围?阶码(定点整数):n=7,移码表示范围?阶码的位数决定数的表示范围,位数越多,范围越大。尾数可以表示数值的有效精度,位数越多精度越高。在IEEE745中尾数可以是原码。对阶是通过较小数的尾数右移实现的。N = 尾数 * 基数。对阶时,小数向大数看齐。

2024-09-08 10:43:08 192

原创 数据的表示-(反码,原码,补码,移码)

因为再补码里面有一个人为规定,100可以表示为-4,因为0只有一种表示方式是000,所以再补码里面100表示4。反码:整数的反码与原码相同,负数的反码是其绝对值按位取反,符号位不变。采用n位补码(包含一个符号位),表示数据,可以直接表示的数值是?eg:如果“2X”的补码是“90H”,那么X的真值是多少?补码:整数的补码与原码相同,负数的补码是其反码末位加1.原码:最高位是符号位,其余低位表示数值的绝对值。原码:数码个数2^n -1。反码:数码个数2^n -1。移码:补码的符号位取反。补码:数码个数2^n。

2024-09-07 20:04:12 402

原创 qt通过调节伽马值来调节显示器亮度

总结找个方法其实不是很好用,对于有的显示器,会被自动校准回去。如果想通过其它方式实现调节显示器亮度参见我的文章。代码是参考的别人 来源。的,自己做了一点改动。

2024-09-06 11:17:32 524

原创 WMI开发文档

有关WMI的的知识可以去官网查看。也可以下载PDF来查看内容。

2024-09-06 11:10:34 127

原创 使用WMI改变显示器亮度

最近遇到了新的需求,需要通过代码去改变显示器的亮度。通过调研发现,改变显示器亮度的方式有三种1.调节伽马值2.使用WMI3.使用DDC/CI协议然而这三个方法都各有缺点:第一个方式:调节伽马值,效果会收到显示器的影响,有的显示器,或者驱动,会去校准显示器亮度。如果你改变了伽马值,在你的鼠标脱离程序的时候,屏幕亮度就会被校准回去。第二个方式:使用WMI。使用WMI是不支持台式电脑的,只能在笔记本上面生效。这个也是我在调试的时候发现的,总是被拒绝访问,去查了才知道台式不支持。

2024-09-06 11:03:18 1367

原创 什么是WMI?

WMI 是基于 Web 统一管理标准(Web-Based Enterprise Management, WBEM)和对象管理来构建的,它允许脚本和应用程序访问和操作系统的信息和管理功能。无论是通过 GUI 工具、脚本还是应用程序,通过 WMI,系统管理员和开发人员可以轻松获取、使用和管理系统信息,提高工作效率和管理水平。WMI 可以查询硬件组件的信息(如 CPU、内存、硬盘、网络适配器等)和软件配置信息(如已安装的应用程序、操作系统版本等)。WMI 通过一种称为对象访问的方式暴露系统信息和管理功能。

2024-09-06 10:46:35 354

原创 使用c++创建WMI应用程序

使用 C++为 WMI创建应用程序:您必须初始化COM、访问和设置 WMI协议,并进行手动清理。但是,C++具有灵活性和功能的优势。因此,虽然对于简单的过程,使用 VisualBasicScriptingEdition(VBScript)或Windows PowerShell效果更好,但对于更复杂的应用程序,C++效果更好,并且需要编写提供程序。下面的过程描述如何创建WMI应用程序。

2024-09-06 10:31:20 774

原创 示例:创建WMI应用程序

您可以使用本主题中的过程和代码示例创建一个完整的 WMI客户端应用程序,该应用程序执行 COM 初始化、连接到本地计算机上的 WMI、读取一些数据并清理。使用场景: 如果你的应用程序需要指定线程模型,例如在 UI 应用程序中你可能会需要 STA,而在提供多线程服务时可能会使用 MTA。定义: CoInitialize 是一个简单的函数,用于初始化 COM 库,使当前线程能够使用 COM 功能。线程模型: 选择不同的 dwCoInit 选项,允许你在单线程和多线程环境中优化 COM 的使用。

2024-09-06 10:28:29 916

原创 MFC隐藏tabCtrl控件的页面

比如你一开始有三个页面,然后你需要隐藏其中的一个页面,那么你就应该调用DeleteAllItems()将所有页面全部删除,然后调用addPage重新添加。解决:首先,隐藏是不可能隐藏的,MFC里面没有可以隐藏tab页的接口,只能通过删除Item,重新添加的方式来完成隐藏。这里会遇到一个问题,如果你是用的tabsheet类,如果这个类的show函数里面是这样写的。在删除所有的Item之前,你需要将所有的item页面隐藏,不然可能会出现意想不到的bug。

2024-08-21 16:33:00 331

原创 MFC将类A中的事件在类B中处理采用回调函数实现

在类A的界面上有一个tab控件。tab控件上面有那个页面。在MFC编程中一个tab的一个页面就应该是一个新的类。在tab的一个页面上有一个list控件。现在需要将list控件的点击事件,双击事件等在类A里面处理。回调函数需要传什么参数可以按需求设置,这里没有用自定义消息是因为类A中包含了类B的头文件。自定义消息在类B里面拿到到类A的对象。在类B里面给控件list添加点击事件。在点击事件里面回调类A的函数。给类B对象设置回调函数指针;定义设置回调指针的函数。

2024-08-16 15:54:11 355

原创 MFC为界面添加类编译报错的处理

最后的解决方式是,让添加的这个类继承于CDialog,如果你原本想让这个类继承于CPropertyPage类。你在添加的类的时候也需要继承CDialog类,然后再代码里面去修改继承的类为CPropertyPage。这样编译就不会报错。我需要插入一个dialog,然后给这个dialog添加一个类,这个类要继承于PropertyPage。但是我添加完之后 就编译不过了。删除之前添加的文件也没有用。最近在使用MFC编程的时候,遇到一个问题。

2024-08-16 15:33:33 110

原创 qt获取以执行文件为中心的相对路径

【代码】qt获取以执行文件为中心的相对路径。

2024-08-05 10:00:39 398

原创 Qt Creator平台编译snmp++

编译源码使用动态库测试代码

2024-07-19 15:32:04 1365 7

原创 snmp++操作之inform(异步式)

1.管理程序开启监听2.代理程序去对某个oid发起inform操作3.管理程序处理inform请求,并回应代理程序4.代理程序获取并打印回应消息

2024-07-19 15:16:12 844

原创 snmp++操作之inform(阻塞式)

1.管理程序开启监听2.代理程序去对某个oid发起inform操作3.管理程序处理inform请求,并回应代理程序4.代理程序获取并打印回应消息

2024-07-19 15:05:00 843

原创 snmp++操作之trap

1.管理程序开启监听2.代理程序去对某个oid发起trap操作3.管理程序监听到trap,并打印

2024-07-19 14:48:57 1125

原创 snmp++操作之set

1.代理程序开启监听2.管理程序去对某个oid发起get操作3.代理程序处理get请求,将oid对应的value发给管理程序。4.管理程序获取value并打印5.管理程序将这个oid和新的vlaue绑定起来,放进pdu对象。然后发起set请求6.代理程序处理set请求。然后将oid的value值修改为新的value值。

2024-07-19 14:21:55 1042

原创 snmp++操作之walk

1.代理程序开启监听2.管理程序去对某个oid发起getBulk操作3.代理程序处理getBulk请求,将oid对应的value发给管理程序。4.管理程序获取value并打印5.管理程序再将获得的最后一个oid作为 getBul的oid发起请求。6.管理程序获取value并打印

2024-07-19 14:21:15 864 1

原创 snmp++操作之getBulk

1.代理程序开启监听2.管理程序去对某个oid发起getBulk操作3.代理程序处理getBulk请求,将oid对应的value发给管理程序。4.管理程序获取value并打印

2024-07-19 14:20:27 819

原创 snmp++操作之getNext

1.代理程序开启监听2.管理程序去对某些oid发起getNext操作3.代理程序处理getNext请求,将oid对应的下一个oid的value发送给管理程序4.管理程序获取value并打印

2024-07-19 14:19:31 619

原创 snmp++操作之get篇

1.代理程序开启监听2.管理程序去对某些oid发起get操作3.代理程序处理get请求,将oid对应的value发给管理程序。4.管理程序获取value并打印

2024-07-19 14:18:39 1348

原创 QML语法

你的根元素对象id为root(id:root),这样就不用去思考你的QML文档中的根元素 应该用什么方式命名了。你可以在你的操作系统命令行模式下使用QtQuick运行环境来运行这个例子,比如 像下面这样: $2.使用//可以单行注释,使用/**/可以多行注释,就像C/C++和JavaScript一样。化的元素,子元素会自动的添加默认属性的子类型链表(children property。6.任何在QML文档中的元素都可以使用它们的id进行访问(id是一个任意的标识。的属性改变时,它的值也会更新。

2024-06-18 16:45:44 1041

原创 认识QML

Qt Quick是Qt5界面开发技术的统称,是以下几种技术的集合QML-界面标记语言JavaScript-动态脚本语言Qt C+±跨平台c++封装库QML是与HTML类似的一种标记语言。在QtQuick中将由标签组成的元素封装在大括号中 Item{}。这样的设计重新定义了界面的创建方式,对于开发者而言更加简单易读。可以使用JavaScript开发界面功能,也可以使用本地Qt C++函数接口扩展界面功能。简单来说,声明式的UI被称作前端,本地C++部分称作后端,将复杂的。

2024-06-18 14:41:41 412

原创 QString中一些处理字符串的函数

具体来说,\b 是一个零长度断言,它匹配一个位置,而不是具体的字符。在正则表达式中,\b 表示单词的边界,即字与空格之间的位置,或者字与标点符号之间的位置等。这包括 ASCII 字符 ‘\t’、‘\n’、‘\v’、‘\f’、‘\r’ 和 ’ '。在这个描述中,提到了正则表达式中的 \b(单词边界)零长度断言。在这个例子中,\b 会匹配每个单词的边界位置,并以此作为分割点,从而生成交替出现的非单词字符和单词字符的序列。返回一个字符串,该字符串从开头和结尾删除了空格,并且每个内部空格串行都替换为一个空格。

2024-05-22 10:00:24 1008

原创 Qt正则表达式运用---QRegExp

这个方法有个弊端就是 10 20 这种两位数里面的0 也会被匹配出来,这个我也不知道是为什么?rx1就可以匹配出非数字的符号,[^0-9]:表示不匹配0-9的数字。rx2可以匹配出除了数字和空格以外的字符。形式就可以精准匹配“0”.“1”,“2”,“3”…"9"的字符串了,不会匹配“10”里面的0了。这个表示第一个数字是1到九之间的,第二个数字是零到九之间的,问号表示第二个数字可以有也可以没有。n=1:匹配两位数,n=2:匹配三位数,n=3:匹配四位数。这里的\d表示的就是[0-9]中的一个数。

2024-05-13 14:01:28 349

原创 QRegExp

正则表达式由表达式、****量词和断言构建而成。最简单的表达式是一个字符,例如 x 或 5。表达式也可以是用方括号括起来的一组字符。[ABCD] 将匹配 A 或 B 或 C 或 D。我们可以将这个表达式写成 [A-D],并且与英语字母表中任何大写字母匹配的表达式都写成 [A-Z]。量词指定必须匹配的表达式的出现次数。x{1,1} 表示匹配 1 且仅匹配一个 x。x{1,5} 表示匹配包含至少一个 x 但不超过 5 个的 x 字符串行。请注意,通常不能使用正则表达式来检查平衡的括号或标记。

2024-05-11 11:59:56 1036

原创 windows和 Linux 下通过 QProcess 打开ssh 和vnc

VNC是一款开源的远程控制软件,功能强大且高效实用,其性能不逊色同类软件,它的工作原理和WIN远程控制软件类似。整个 VNC 一般运行的工作流程如下:(1) VNC 客户端通过浏览器或 VNC Viewer 连接至 VNC Server。(2) VNC Server 传送一对话窗口至客户端,要求输入连接密码(可能为空),以及存取的 VNC Server 显示装置。(3) 在客户端输入连接密码后,VNC Server 验证客户端是否具有存取权限。

2024-05-11 11:14:11 744

原创 Qt Creator Pro文件添加库和源文件

因为lib_header里面只有头文件,他的cpp在lib里面,所有的dll都在lib里面,所以要将lib添加进来。这个英文符号点,表示当前目录,因为这个文件是和pro文件在同一个目录下,所以用./这里因为我没有添加lib_header的cpp文件和.h文件,所里左侧没有显示。后续打包完成还需要将所需的dll文件拷贝到exe所在的文件下面。添加了lib文件夹下面的NetItfd 的dll文件。然后开始添加所需要的cpp文件和.h文件。

2024-04-26 12:05:27 1130

原创 sizeof和strlen的区别

小知识点,sizof计算大小,会计算后面的结束符“\0”,strlen计算长度,不会计算"\0"

2024-04-18 13:05:10 99

原创 Qt解析json格式数据

可以使用 QJsonDocument::fromJson() 将 JSON 文档从其基于文本的表示形式转换为 QJsonDocument。可以使用 array() 或 object() 检索文档中包含的数组或对象,然后读取或操作。QJsonDocument 是一个包装完整 JSON 文档的类,可以从基于 UTF-8 编码的文本表示以及 Qt 自己的二进制格式读取和写入此文档。也可以使用 fromBinaryData() 或 fromRawData() 从存储的二进制表示形式创建文档。

2024-04-18 11:32:59 712

原创 QDomDocument读写XML文件

什么是XML—详情。

2024-04-12 16:11:22 521

原创 QtCreator修改项目构建目录

1.用notepad++打开.pro.user文件,找到其中ProjectExplorer.BuildConfiguration.BuildDirectory这个key,修改其值为你指定的目录即可,比如我这里修改为D:\QtTest\TestBuild\debug和D:\QtTest\TestBuild\release;1.将工具–>选项–>构建和运行中Default build directory修改为./%{CurrentBuild:Name}(改为你想要的目标目录都行);–build:固定字符;

2024-04-12 11:55:32 772

原创 Qt发布可执行exe

如果你的程序名叫demo,就是输入windeployqt demo.exe回车。添加环境变量:D:\Qt\Qt5.8.0\5.8\mingw53_32\bin。然后你的的release目录下就会多了很多文件。运行exe就行能成功运行。输入:windeployqt 3_5.exe 回车。复制这路径,然后在命令提示符里面切换到该路径。windeployqt 程序名.exe。举例:假如你有一个名叫3_5的程序。搜索框输入环境变量 然后打开。

2024-04-12 11:14:40 500 2

原创 QSettings保存配置信息,读取配置信息

【代码】QSettings保存配置信息,读取配置信息。

2024-04-10 13:49:40 210

原创 Qpain自制钟表

【代码】Qpain自制钟表。

2024-04-02 16:50:13 264

Windows Management Instrumentation (WMI)的英文开发文档

1. 文档首页 概述: WMI 文档的首页通常提供 WMI 的基本概念、功能和使用方法。 2. WMI 基本概念 WMI 体系结构: 介绍 WMI 的基本结构,包括提供程序、存储库和客户端应用程序之间的关系。 对象模型: 讲解 WMI 中的类、实例、属性和方法的概念,及其与 COM 的关系。 3. WMI 类和命名空间 WMI 类参考: 提供 WMI 中的类列表,描述每个类的用途与功能。例如: Win32_OperatingSystem: 表示操作系统的相关信息。 Win32_Process: 表示操作系统中正在运行的进程。 命名空间: 列出 WMI 的各个命名空间及其用途,例如 root\cimv2 是最常用的命名空间。 4. WMI 查询语言 (WQL) 概念介绍: 解释 WQL 的基本语法和结构,它类似于 SQL,用于查询 WMI 类的实例。 示例: 提供常见的 WQL 查询示例,例如检索计算机上安装的软件、活动的进程。

2024-09-06

Qt初学者学习文档,讲述了基础用法和常用控件

Qt初学者学习文档提供了基础用法和常用控件的详细介绍。文档涵盖了如何使用Qt开发应用程序的基础知识,包括创建窗口、布局管理、事件处理、信号与槽机制等核心概念。此外,文档还介绍了Qt中常用的控件,例如按钮、标签、文本框、列表框等,并解释了它们的用法和属性设置。 适用人群: 该文档适用于以下人群: Qt初学者:如果您是刚开始学习Qt编程的初学者,这份文档将帮助您了解Qt的基本概念和常用控件的使用方法。它为您提供了一个入门级的指南,帮助您快速上手Qt开发。 GUI开发者:如果您已经具备GUI开发的经验,但是想要转移到使用Qt进行跨平台开发,那么这份文档将对您有所帮助。它介绍了Qt的特性和常用控件,以及如何使用Qt构建功能丰富的图形用户界面。 跨平台应用程序开发者:如果您需要开发跨平台的应用程序,Qt是一个非常强大的选择。这份文档将教您如何使用Qt的跨平台特性和工具,以便在不同的操作系统上构建一致的应用程序。 总之,Qt初学者学习文档适合那些希望快速入门并掌握Qt基础知识和常用控件的人群。无论是从零开始学习Qt编程,还是已经有GUI开发经验但想要转移到Qt的开发者,该文档都提供了实

2024-01-31

代码查重分析的Simian压缩包

可以对代码进行重复度对比,找出代码中的重复部分

2023-10-19

Qtxlsx的源码下载,通过qt creator编译之后,可以在qt的项目中使用

Qtxlsx的源码下载,使用于qt的项目,需要操作excel文件的时候使用。

2023-03-14

QT项目之TCP通信的实现

tcp通信的代码,自己的记录罢了。

2022-07-20

qt5.5,可集成到VS2010的qt

可集成到VS2010的qt

2022-06-04

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

TA关注的人

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