- 博客(66)
- 收藏
- 关注
转载 Qt添加链接库总结
(2)如果有dll文件,那么lib一般是一些索引信息,记录了dll中函数的入口和位 置,dll中是函数的具体内容;4)-l后面跟着的是.lib的文件名,注意,比如你的.lib文件时ControlCAN.lib,不要傻乎乎的写成了-lControlCAN.lib,不要带后缀,要写成-lControlCAN,同样,-l后面也没有空格。3)-L之后紧接着就跟着.lib文件所在的目录,比如,我的目录是在E盘下的project目录下的QT目录下的usbcan_info下,注意,是紧跟着,不要分开,分开就错啦!
2025-02-21 09:23:46
34
转载 【转载】我们不可能永远都在救火 ——Scrum中技术债务“偿还”指南
在Scrum环境中,持续改进是一个核心原则,只有定期回顾和评估偿还技术债务的进展,才能够一定程度上避免技术债务带来的消极影响。技术债务是指开发人员为了加速软件开发,在应该采用最佳方案时进行了妥协,改用了短期内能加速软件开发的方案,以至于未来给自己带来额外的开发负担。正如电影《无间道》所说“出来混,迟早要还的”,技术债是无法避免的,只是产生技术债务多少的问题,但如果不及时处理技术债务就会产生破窗效应。在Scrum环境中,偿还技术债务是一个重要的任务,以确保软件的可持续发展和质量。二、技术债务如何还债。
2025-02-17 08:41:36
29
原创 数据结构常用术语
一. 常见术语数据相关英文术语中文术语Data数据Data element数据元素Data item数据项Data structure数据结构Logical structure逻辑结构Data type数据类型指针与存储英文术语中文术语Pointer指针Sequential storage structure顺序存储结构Linked storage structure链状存储结构Dense
2024-10-11 09:16:04
563
原创 maven项目:获取jar内文件路径
使用ClassPathResource类来获取resources里边的文件,参数指明在文件的具体位置和文件名。
2024-08-28 15:51:22
274
原创 银河麒麟V10_安装Qt并配置Qmake命令
这个版本可以从Qt官网下载到run包,双击安装。因为我登录的并不是root账号,安装后在命令行终端并没有qmake命令直接使用。
2024-06-07 09:16:12
1252
原创 Qt qt5.3集成mqtt模块
将mkspecs文件夹内的两个文件都拷贝过去,而不是里边的pri。看见Release文件夹内的目录结构就是为了拷贝过去方便分的,直接拷贝就好。版本,在Windows平台下,通过pro就可以直接构建了,Linux下没有测试,GitHub上有Linux压缩包。clone下载下来会有报错,需要perl来进行编译,去下载perl安装完,清理重新编译就可以了。之后运行了一下上边博主的示例工程,连接一个MQTT服务,发布主题。服务端也是从Github上找到的,执行脚本就可以启动,电脑重启会关闭。
2024-05-15 11:28:46
556
3
原创 第二章 算法分析
我们的模型具有标准的简单指令,如加法、乘法、比较和赋值,但与真实计算机不同的是,执行任何操作(简单操作)都需要完全一致的时间单位。另外,通过假设内存是无限的,我们从不担心页面错误,尽管对于高效的算法来说,页面错误可能是一个真正的问题。记法是用于表示算法时间复杂度的一种渐进符号表示法,它描述了在最好情况和最坏情况下,算法的运行时间与输入规模的增长关系。当作英语阅读了,大概的意思是强调任意的算法分析都有个理论前提,是基于一定的模型概念上的。,则表示算法的运行时间与输入规模的平方的增长关系相比,其增长速度更慢。
2024-02-23 12:53:33
923
原创 第一章 练习
由于舍入误差的存在,通常需要指定输出中应包含的小数位数,并相应地进行四舍五入。否则,数字可能会看起来很奇怪。Separate 程序留给读者自行完成。以下是代码:Figure 1.1。也是个归纳推导的思路,到这里感觉这本书比较推崇归纳推理的方式来解决问题。不过想想也是,计算机程序的设计很多也是在运用这种推导提炼的抽象能力。编写一个程序,使用仅能进行数字输出的 print_digit 函数,来输出一个任意的实数(可能为负数)。接下来,让我们绘制一个表格,显示程序在不同 n 值下的运行时间。
2024-02-21 23:29:48
885
原创 第一章 引论
在豆瓣上有读者评论说这本书虽然数据结构在前,但实际上讲的更多的是算法分析。我也这么认为,这一章就在上来就先点明:写出一个可以工作的程序并不够读到这里我就觉得这本书可能不是很适合我,在我目前的工作生涯中我没有过多的运用数据结构和算法分析的知识,而且如今ChatGPT工具的出现,很大的简化了应用层面开发的问题——在日常编程中只需要提问,就可以解决日常开发的的一般需求,而且高级的数据结构和算法已经都有很成熟的库可以很方便的调用。再去花时间来研读这些学生时期可以细细读的书性价比不是很大了。
2024-02-19 21:48:54
269
原创 Java中文件处理问题
这句话虽然返回了正确的md值,但是会锁住后续的文件操作。所以应该自己封装一个安全的函数使用try包裹住才好。文件处理时的经验提升!
2023-12-06 16:33:49
480
原创 Visual Studio Code国内镜像下载
以下载Linux版的VS Code为例,大家需要什么版本现在去官网找一下,把下载地址替换一下即可!注:只需将【az764295.vo.msecnd.net】替换成【vscode.cdn.azure.cn】即可!
2023-06-11 10:34:21
5663
原创 c语言struct
的初始化过程中,使用了C语言中特有的成员初始化器语法(Member Initializer Syntax)。通过这种语法,可以直接对结构体中的某些成员进行初始化。例如,在本例子中,使用。需要注意的是,在这个例子中,静态结构体和静态变量都被定义在了同一个作用域内,因此。这段代码定义了一个静态的匿名结构体,并创建了一个名为。只能在当前文件中访问,并且不会被其他文件所共享。的结构体变量并初始化。同样地,其他成员变量也都被初始化了。来限制它的可见性范围。变量在定义时使用了关键字。成员变量,将其赋值为。
2023-06-02 09:10:33
118
原创 C语言判断队列满or空
判满:当(front + 1) % n = rear时,队列为满,其中n为循环队列的长度。需要注意的是,为了区分队列满和队列空的情况,队列中必须要有一个空间不存储元素。在动态数组队列中,元素存储在数组中,并通过一个指针来跟踪队列的头部和尾部。需要注意的是,当需要频繁添加和删除元素时,使用动态数组队列比静态数组队列更加高效。动态数组队列是一种数据结构,在队列的基础上,使用动态数组来实现队列的操作。循环队列通常使用数组来实现,判别循环队列是否满或空,可以借助两个变量front和rear。
2023-06-01 17:20:05
2164
原创 使用VScode学习C语言报错undefined reference to `XXX‘
好久没直接使用编译器了,gcc命令要补全需要的文件。报错的时候是因为只run code了一个文件。
2023-06-01 08:25:41
361
原创 从1开始,每次增加1,2或3,有多少种方法可以加到9?
这个题是《计算之魂》里边的一个问答题,完全不会呀,问一下AI怎么解决:有几种方法可以加到9的问题可以使用递归或动态规划来解决。以下是一种使用动态规划的方法:我们定义一个数组 dp[i]dp[i]dp[i],其中 dp[i]dp[i]dp[i] 表示从 1 开始每次增加 1,2 或 3 的方式到达数字 iii 的总数。初始化 dpdpdp 数组为 dp[0]=1dp[0]=1dp[0]=1,因为不需要任何操作就可以从数字 1 到达数字 1。然后对于数字 iii,我们可以从数字 i−1i-1i−1,i−
2023-05-25 08:37:09
714
原创 #pragma once与#ifndef
缺点是如果不同头文件中的宏名不小心”碰撞”,可能就会导致你看到头文件明明存在,编译器却硬说找不到声明的状况。由于编译器每次都需要打开头文件才能判定是否有重复定义,因此在编译大型项目时,#ifndef会使得编译时间相对较长,因此一些编译器逐渐开始支持#pragma once的方式。这里所说的”同一个文件”是指物理上的一个文件,而不是指内容相同的两个文件。而#pragma once方式有些编译器不支持(较老编译器不支持,如GCC 3.4版本之前不支持#pragmaonce),兼容性不够好。
2023-05-24 14:00:01
185
原创 Win11右键显示更多选项设置教程
1、首先用鼠标右键点击“开始”按钮(或者按Win+X键),选择点击 “Windows 终端(管理员)”。1、还是一样打开 Windows 终端(管理员),直接输入下面这串代码。2、然后在终端应用程序里粘贴下面这串代码并按回车键。2、然后显示操作成功,重启之后,就可以恢复了。电脑就可以看到跟以前win10一样的右键菜单啦。4、文件上点击鼠标右键弹出的菜单如下图。3、操作成功之后,重启。
2023-05-10 08:40:11
2917
原创 tiechui_lesson07_中断级和自旋锁
但是当页面被换到磁盘上的pagefile.sys,缺页中断无法打断DPC过程(弹幕大佬:“准确说缺页中断会产生,但页面错误异常处理函数无法回应中断请求”),结果是访问一个无效内存,导致BSOD。(弹幕大佬:“也就是说获取自旋锁的线程中断级更高,被抢占的概率更小,从而能尽可能快的释放锁,避免其他线程长时间忙等待”)。DPC这个级别是软件层面能提升到的最高权限,ISR(延迟过程调用)当某个硬件设备引发一个高中断的时候,可以把不那么紧急的任务放在DPC里边来执行,同时又把中断级降低。比如在尝试重入全局变量。
2023-05-08 22:10:01
718
原创 tiechui_lesson06_注册表操作
这节课主要学习注册表的相关操作,包括注册表的打开,读取,修改,删除。可以自己通过底层API手动来获取和设置注册表,也可以用微软提供的运行时函数。我的看法是底层函数用来了解原理,真正在代码中使用的时候还是会优先使用微软封装好的Rtl运行时函数。而且通过这节课也让我对注册表有了一些认识,注册表就像是一种可视化的数据结构,存放一些程序需要或者系统需要的一些数值,是一些键值对的集合。
2023-05-08 15:10:56
614
转载 【C/C++】全局变量、局部变量、const、static、内存管理和释放
静态成员之间可以相互访问,包括静态成员函数访问静态数据成员和静态成员函数。静态成员函数不能访问非静态成员函数和非静态数据成员,非静态成员函数可以任意地访问静态成员函数和静态数据成员。因为没有this指针的额外开销,所以静态成员函数与类的非静态成员函数相比速度上有提升。
2023-05-08 09:42:14
5845
原创 tiechui_lesson03_缓冲读写与自定义控制
学习了与应用层通过缓冲区方式的交互,包括读写,自定义控制等。小坑比较多,大部分是是头文件和设置上的错误,跟着视频敲想快进就跳过了一些细节。
2023-05-06 16:30:17
623
原创 tiechui_lesson01_入口函数和卸载函数
有一种蓝屏(BSOD)的情况,如果在卸载函数中没有设置删除设置个进程通知回调函数nothing,那么就会产生BSOD。因为操作系统中保有这个回调指针后,我们卸载掉驱动,那么这个指针所指的函数就不存在了,而操作系统仍然去试图访问这个函数那么就导致了蓝屏。在安装驱动的时候注册了一个进程通知回调,在系统中有进程创建或者关闭的时候,调用回调函数。第一个参数为注册的回调函数,第二个是添加和删除回调的布尔值。指定调用方提供的进程创建回调例程的入口点。,则指定例程将添加到列表中。,则从列表中删除指定的例程。
2023-05-06 11:18:10
669
原创 mov、add、sub指令
它们可以对段寄存器进行操作吗?比如:“add ds, ax”。请自行在debug实验。我们知道mov, add, sub指令,它们都带有两个操作对象。注:下面验证的指令是我们之前没有遇到过的。③ mov 段寄存器,内存单元。
2023-05-05 21:11:19
1313
原创 8086CPU汇编环境安装
中介绍了DOSBox这个软件,觉得很好用,使用方式记录在这里。之前是使用XP虚拟机中的DOS窗口,后来在B站上逛到的视频。
2023-05-05 20:24:15
982
原创 What Does 10x Developer Mean?
10x 开发人员是指被认为与他或她所在领域的其他 10 个人一样高效的个人。在生产、工程或软件设计环境中,10x 开发人员将产生比其他同事 10 倍的成果。
2023-05-05 08:56:43
97
微软商店离线安装包(解决微软商店打不开的情况,“指定了未知的布局”,报错“0x80131500” 等)
2023-11-16
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人