自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

谢谢大家的关注和点赞!这里只有纯纯的知识干货,没有一句废话。希望能实实在在帮到大家~要是觉得有用,别忘了给我点支持哟,你

只分享实用知识干货,绝无半句废话。期待能切实帮到大家,恳请各位多多支持,你们的支持是我持续输出的最大动力。

  • 博客(206)
  • 资源 (19)
  • 收藏
  • 关注

原创 大端小端以及判别方式

低位字节存于低地址,高位字节存于高地址,更符合计算机处理逻辑。:高位字节存于低地址,低位字节存于高地址,符合人类阅读习惯。

2025-06-13 16:47:02 325

原创 文本文件与二进制文件的区别

根据具体应用场景选择合适的文件类型,能显著提升程序的性能和可维护性。

2025-06-13 16:37:50 106

原创 暗黑模式实践

暗黑模式是一种以深色背景搭配浅色文本为核心的界面设计方案,与传统亮色调界面形成鲜明对比。视觉舒适度提升:减少强光刺激,尤其在低光环境下(如夜间使用)能降低眼睛疲劳感续航优化:OLED 屏幕设备中,纯黑色像素不发光,可显著降低功耗沉浸式体验:深色背景能让内容(如图像、视频、文字)更突出,减少视觉干扰时尚设计趋势:符合现代 UI 设计的极简美学,增强产品科技感。

2025-06-13 11:49:53 267

原创 视频监控软件开发的需求管理

在软件开发过程中,一个校方的用户向他所认识的一个项目开发人员抱怨系统软件中的一项功能问题,并且表示希望能够进行修改,如果不加控制而直接进行修改会带来很多问题,如没有对变更进行控制,没有修改记录,容易造成软件版本的管理混乱,没有把变更的结果通知到所有的项目干系人,容易造成信息不一致,软件文档没有得到及时的更新。在视频监控软件项目开发过程中,需求管理计划和控制是非常重要的一个环节,有效的需求管理能对项目进度、质量和成本起到很好的控制作用,需求变更的过度蔓延有可能带来项目的混乱、失控甚至项目的最终失败。

2025-06-13 08:36:22 474

原创 某船指挥中心的综合语音调度系统设计

综合语音调度系统的基础支持包括内通调度系统(普通电话调度、IP电话调度)、统一通信调度系统、无线调度系统、卫星电话系统,同时还包含视频会议系统、图像接入系统以及中控系统等。在某船的信息系统设计过程中,船东提出的综合语音调度系统的建设目标为:将固定电话、卫星电话、IP电话以及短波、超短波电台的音频系统有机融合,实现多种通信手段互联互通。因此建议围绕综合语音调度通信系统为核心,对其它通信系统进行整合,目标是不同制式的通信系统可通过调度系统互联,实现有线、无线、短波、超短波、集群电话、卫星电话之间的互联互通。

2025-06-13 08:33:49 8

原创 #pragma pack的作用

指定对齐字节数:通过 #pragma pack(n) 可指定结构体按n字节对齐(n通常为1、2、4、8、16等2的幂次)。通常配合 #pragma pack(pop) 或 #pragma pack() 恢复默认对齐,使用时需注意n的取值应合理,避免因过度压缩影响访问效率。// 2字节,b后填充2字节(总占8字节)// 1字节,后填充1字节(对齐到2字节)// 2字节(对齐到2字节,紧跟b后)// 4字节,默认对齐下,a后填充3字节。// 2字节,紧跟b后(总占7字节)// 4字节,紧跟a后,无填充。

2025-06-12 21:52:39 281

原创 计算机信息系统集成项目的质量管理探讨

通过对项目的时间、成本、质量、风险等实行综合有效的控制,达到项目的期望值,不仅提高了客户的满意度,增加了市场竞争力,而且使企业在项目中的投入更加经济、高效,从而保证利润最大化。项目管理是开放的、连续的,为了提高过程的效果和效率,须持续改进过程,改进的目的是不断满足项目需求。作为项目经理,就是要在项目实施中严格按照公司的质量管理体系执行,从项目的需求分析开始,到项目交付为止,做到同策划、同安排、同实施、同验收、同总结,将质量管理工作贯穿于整个项目的过程,即需求分析、方案设计、工程实施、工程交验,后续维护等。

2025-06-12 08:39:16 682

原创 TCP 网络调试工具详细设计

本 TCP 网络调试工具旨在提供一个便捷的平台,用于测试和调试 TCP 网络通信。该工具支持服务器和客户端两种模式,允许用户在本地网络中进行数据的发送和接收,并实时监控网络连接状态和数据传输情况。本 TCP 网络调试工具通过 MFC 框架和 Winsock 库实现了服务器和客户端的 TCP 网络通信功能。通过详细的设计和实现,该工具具有良好的用户界面和稳定性,能够满足用户在 TCP 网络调试方面的需求。在后续的开发中,可以进一步优化工具的性能,增加更多的功能,如数据解析、协议支持等。

2025-06-12 08:31:13 760

原创 TCP 套接字与 Socket 编程基础入门

std::cout << "客户端连接成功:" << client_ip << ":" << ntohs(client_addr.sin_port) << std::endl;// 监听端口(需大于1024避免权限问题)std::cout << "服务器响应:" << buffer << std::endl;std::cout << "服务器启动成功,监听端口 8080..." << std::endl;std::cout << "收到数据:" << buffer << std::endl;

2025-06-12 06:01:14 283

原创 ateⅹⅰt()的用法

在C/C++中, atexit() 函数用于注册程序退出时需要调用的函数,即使程序通过 main() 函数返回、 exit() 函数退出或异常终止,这些注册的函数也会被执行。- 与exit()的关系: exit() 函数会触发 atexit() 注册的函数,而 main() 返回等价于调用 exit(返回值)。- 注册多个函数:可多次调用 atexit() 注册多个函数,执行顺序与注册顺序相反(后进先出)。// 注册退出函数:atexit()可多次调用,按注册顺序的逆序执行。

2025-06-11 21:30:49 59

原创 c++中main函数执行完后还执行其它语句吗?

不存在 main 函数体外的可执行语句——因为编译器会将 main 函数视为程序的起点和终点,函数外的代码会被视为语法错误(除非是全局作用域的声明或定义,如变量、函数声明等,但这些不属于“可执行语句”)。这种情况下,析构函数的执行是 main 结束流程的一部分,并非“额外执行的语句”,本质上仍属于 main 函数结束时的资源清理操作。如果 main 函数中创建了具有析构函数的对象(如类的实例),当 main 结束时,系统会自动调用这些对象的析构函数。// main结束时,t的析构函数会被自动调用。

2025-06-11 21:27:22 306

原创 # include<heαd.h>和# include″heαd.h″的区别

搜索路径:编译器会优先在系统默认的头文件目录中查找(例如Linux下的 /usr/include ,Windows下的MSVC安装路径等),不会在当前源文件所在目录查找。- 包含标准库头文件时,用 <> ,例如: #include <iostream> #include <string>。- 包含自定义头文件(如同一项目中的 .h 文件)时,用 "" ,例如: #include "myHeader.h"。- 搜索路径:编译器会先在当前源文件所在的目录中查找,若未找到,再去系统默认目录中查找。

2025-06-11 21:22:44 120

原创 C++与C有什么不同

C++:虽然也支持指针,但引入了引用,在很多场景下可以替代指针,减少了指针使用的复杂性。- C++:标准库更丰富,除了包含C语言的标准库外,还增加了STL(标准模板库),包含容器(如vector、map)、算法(如sort、find)、迭代器等。- C++:除了C语言的内存管理方式外,还引入了 new 和 delete 运算符,自动调用构造函数和析构函数,在一定程度上简化了内存管理。- C++编译器:除了编译功能外,还会处理C++特有的语法特性,如函数重载的名称修饰等。

2025-06-11 21:16:25 258

原创 C语言标识符、关键字、注释、表达式和语句

标识符就是程序员自己起的名字,除了变量名,后面还会讲到函数名、宏名、结构体名等,它们都是标识符。C语言规定,标识符只能由字母(A~Z, a~z)、数字(0~9)和下划线(_)组成,并且第一个字符必须是字母或下划线,不能是数字。标识符虽然可由程序员随意定义,但标识符是用于标识某个量的符号,因此,命名应尽量有相应的意义,以便于阅读和理解,作到“顾名思义”。定义变量时,我们使用了诸如 a、abc、mn123 这样的名字,它们都是程序员自己起的,一般能够表达出变量的作用,这叫做标识符(Identifier)。

2025-06-11 17:58:34 353

原创 关于指针的那些事

h) 一个有10个函数指针的数组,该指针指向一个函数,该函数有一个整型参数并返回一个整型数。g) 一个指向函数的指针,该函数有一个整型参数并返回一个整型数。c) 一个指向指针的的指针,它指向的指针是指向一个整型数。f) 一个指向有10个整型数数组的指针。d) 一个有10个整型数的数组。b) 一个指向整型数的指针。

2025-06-11 14:02:48 270

原创 CTime时间转换为字符串2025-06-11 08:52:54的几种方法

在 MFC 或 Windows 编程中,CTime 类提供了多种方式将时间对象转换为特定格式的字符串。

2025-06-11 08:56:27 136

原创 在C++ UI编程中,什么是暗黑模式

在C++ UI编程里,暗黑模式(Dark Mode) 是一种界面设计风格,主要特点是把界面背景设为深色(像黑色、深灰),文字和控件元素用浅色(比如白色、浅灰),形成高对比度的视觉效果。- 可能需要根据模式切换来动态更新界面资源,比如用 QSS (Qt样式表)或自定义绘制函数。- 节省功耗:要是设备用的是OLED屏幕,暗黑模式下黑色像素不发光,能起到省电的作用。- 降低视觉疲劳:在光线较暗的环境中,深色背景能减少屏幕对眼睛的刺激。- 调整图标、边框等元素的样式,保证在深色主题下显示正常。

2025-06-11 07:13:26 69

原创 将两个变量a,b的值进行交换,不使用任何中间变量

std::cout << "原始值: a = " << a << ", b = " << b << std::endl;std::cout << "交换后: a = " << a << ", b = " << b << std::endl;std::cout << "原始值: x = " << x << ", y = " << y << std::endl;std::cout << "交换后: x = " << x << ", y = " << y << std::endl;// a ^ b的结果存入a。

2025-06-10 22:19:42 232

原创 有符号变量与无符号变量的区别和联系

范围:以int为例(假设4字节),范围为 -2^31 ~ 2^31-1 (即 -2147483648 ~ 2147483647 )。- 范围:以unsigned int为例,范围为 0 ~ 2^32-1 (即 0 ~ 4294967295 )。// 补码表示为全1,转换后u=4294967295(2^32-1)数值范围 正负值区间(如-2^n ~ 2^n-1) 非负值区间(0 ~ 2^(n+1)-1)// 取模2^32,v=0。// 错误示例:i为-1时,循环不会执行(-1转换为无符号数是大数)

2025-06-10 22:13:06 349

原创 编程风格良好的条件比较语句

if (age >= 18 && type == "student") { ... } // 条件过长时可读性差。// 必须包含default。if (num == 10) { ... } // 误写为num = 10时,编译无错但逻辑错误。if (isReady == true) { ... } // 等价于if (isReady)if (10 == num) { ... } // 若误写为10 = num,编译报错。if (vec.size() == 0) { ... } // 效率低于empty()

2025-06-10 22:07:40 433

原创 i++与++i的区别

后自增 i++ :先取值,再自增 → 返回临时值 → 适用于需要原始值的场景。// 合法,i先加1变为6,再被赋值为10 → i=10。- 前自增 ++i :先自增,再取值 → 返回引用 → 效率更高(类对象场景)。// i先变为6,再将6赋给j → i=6,j=6。// 先将5赋给j,i再变为6 → i=6,j=5。// 编译错误,i++返回的是临时值(5),无法赋值。- i++ (后自增):先使用变量的原始值,再将值加1。- ++i (前自增):先将变量值加1,再使用新值。

2025-06-10 22:02:54 284

原创 C++中变量赋值有几种形式

直接赋值和列表初始化是基础场景的常用方式,而拷贝/移动赋值、构造函数初始化则更多用于类对象或资源管理。Person(string n, int a) : name(n), age(a) {} // 构造函数初始化。// vec1的资源转移给vec2。Data& operator=(const Data& other) { // 赋值运算符重载。// 拷贝初始化obj1。// 调用构造函数赋值。使用 = 符号,但本质是通过拷贝构造函数完成赋值(适用于类对象)。// 等价于int b = 20;

2025-06-10 21:48:27 44

原创 利用最小二乘法找圆心和半径

std::cout << "真实圆心: (" << trueCenterX << ", " << trueCenterY << "), 真实半径: " << trueRadius << std::endl;std::cout << "计算圆心: (" << centerX << ", " << centerY << "), 计算半径: " << radius << std::endl;<< ", 半径=" << fabs(radius - trueRadius) << std::endl;

2025-06-10 20:39:14 321

原创 visual studio 2022更改主题为深色

在选项窗口中,选择 环境 -> 常规 ,将其中的颜色主题改成深色。点击visual studio 上方的 工具-> 选项。

2025-06-10 15:34:04 177

原创 vs2022 如何移植对话框到新项目中去

vs2022 如何移植对话框到新项目中去

2025-06-10 14:39:08 528

原创 铁路应急调度指挥系统设计

铁路应急调度指挥系统设计

2025-06-10 14:16:55 553

原创 学好C语言的关键点

指针的理解与运用:指针是C语言的核心特色,它可以让程序员直接操作内存,实现对数据的灵活访问和处理,但也容易引发错误。要深入理解指针的概念、指针与数组的关系、指针的运算等,通过大量实践掌握其用法。- 语法知识:认真研读经典的C语言教材,如《C Primer Plus》《C语言程序设计》等,深入理解变量、数据类型、控制结构、函数、指针等基础概念,掌握它们的用法和规则。- 算法与数据结构:掌握常见的算法和数据结构,如排序算法、链表、栈、队列等,它们是编写高效C语言程序的基础,能够提高程序的性能和效率。

2025-06-10 07:10:19 65

原创 复制构造函数是什么?什么情况下会用到它?什么是深复制和浅复制?

浅复制:在浅复制中,新对象的成员变量直接复制原始对象的成员变量的值。对于基本数据类型的成员变量,这种复制方式没有问题,但对于指针类型的成员变量,浅复制只是复制了指针的值,使得新对象和原始对象的指针指向同一块内存空间。- 深复制:深复制不仅复制对象的成员变量的值,还会为指针类型的成员变量分配新的内存空间,并将原始对象中指针所指向的内容复制到新的内存空间中。这样,新对象和原始对象就有了各自独立的内存空间,对一个对象的修改不会影响另一个对象,在对象销毁时也能正确地释放各自的内存。

2025-06-10 06:30:46 125

原创 队列和栈的区别

用数组实现栈时,通常将数组的一端作为栈顶,通过移动栈顶指针来进行入栈和出栈操作。用链表实现栈时,将链表的头节点作为栈顶,插入和删除节点都在头节点处进行,操作相对简单。用数组实现时,需要考虑队列满和队列空的情况,以及如何高效地进行入队和出队操作。例如,在函数调用时,函数的参数、局部变量等会被压入栈中,当函数执行完毕后,再从栈中弹出相关信息。- 栈:所有的插入和删除操作都在栈的同一端进行,这一端被称为栈顶。- 队列:在队列的一端进行插入操作(称为入队),在另一端进行删除操作(称为出队)。

2025-06-10 06:27:15 308

原创 使用QMediaPlayer开发音乐播放器

用qt实现自己的音乐播放器

2025-06-09 14:34:31 791

原创 c++ 中如何嵌入squirrel 脚本语言

如何嵌入squirrel脚本语言

2025-06-09 11:50:59 312

原创 constexpr 和 const 的区别

C++中constexpr与const的核心区别

2025-06-09 08:43:22 395

原创 禸联函数与宏有什么区别?

宏在定义时要小心处理宏参数(一般情况是把参数用括号括起来),否则容易出现二义性。而内联函数定义时不会出现二义性。- 在编译的时候内联函数可以直接被嵌入到目标代码中,而宏只是一个简单的文本替换。- 内联函数可以完成诸如类型检测、语句是否正确等编译功能,宏就不具有这样的功能。- 内联函数在编译时展开,宏在预编译时展开。- 宏不是函数,inline函数是函数。

2025-06-08 20:34:13 99

原创 为什么不把所有的函数都定义成禸联函数?

内联是以代码膨胀(复制)为代价,仅仅省去了函数调用的开销,从而提高函数的执行效率。一方面,如果执行函数体内代码的时间相比于函数调用的开销较大,那么效率的收获会很少。另一方面,每一处内联函数的调用都要复制代码,将使程序的总代码量增大,消耗更多的内存空间。一个好的编译器将会根据函数的定义体,自动地取消不值得的内联(这说明了inline不应该出现在函数的声明中)。- 如果函数体内出现循环,那么执行函数体内代码的时间要比函数调用的开销大。- 如果函数体内的代码比较长,使用内联将导致内存消耗代价较高。

2025-06-08 20:29:26 129

原创 为什么要引入内联函数?

内联函数可以像普通函数一样被调用,具有良好的封装性和可读性。同时,在需要修改函数功能时,只需要在一个地方修改内联函数的定义,而不需要在每个调用处进行修改,便于代码的维护和管理。在这个例子中, add 函数被定义为内联函数,在编译时,编译器可能会将 add 函数的代码直接插入到 main 函数中调用 add 的地方,从而提高程序的执行效率。- 虽然内联函数会将函数体插入到调用处,但如果内联函数的代码量较小,那么相对于多次函数调用的代码,整体代码量可能并不会增加很多,反而能提高效率。

2025-06-08 20:24:52 206

原创 sizeof 与strlen的区别

sizeof 是一个操作符,用于计算数据类型或变量在内存中所占的字节数,它是在编译时确定的,与数据的实际内容无关,可用于任何数据类型,包括基本数据类型(如 int 、 char 等)、数组、结构体、指针等。- strlen 是一个函数,用于计算字符串的长度,即字符串中字符的个数,不包括字符串结束符 \0 ,它是在运行时计算的,并且只适用于以 \0 结尾的字符串。

2025-06-08 20:18:45 336

原创 什么是函数对象

在C++中,函数对象(Function Object)又称仿函数(Functor),是通过定义 operator() 运算符重载的类或结构体实例,使其行为类似函数。// 创建函数对象实例。

2025-06-08 20:04:13 419

原创 UDP 与 TCP 的区别是什么?

TCP:由于要保证数据的可靠性,需要进行大量的控制和管理操作,如确认、重传、流量控制等,所以传输效率相对较低,延迟相对较高。- TCP:面向连接,在数据传输前需要通过三次握手建立连接,传输完成后要通过四次挥手关闭连接,能确保数据传输的可靠性。- UDP:无连接,发送数据前不需要建立连接,也不维护连接状态,因此UDP的通信效率较高,适合对实时性要求高的场景。- UDP:传输效率高,因为它没有连接建立和维护的开销,也没有复杂的确认和重传机制,数据传输速度快,延迟低。

2025-06-08 19:46:55 415

原创 两台路由器如何串联

设置要点:第一台路由器正常设置,开启DHCP服务器。第二台路由器需设置WAN口连接方式,通常选择动态IP(如果第一台路由器分配的是动态IP),并可根据需要修改LAN口的IP地址,避免与第一台路由器的LAN口IP在同一网段,同时开启第二台路由器的DHCP服务器。- 连接方法:用一根网线将第一台路由器的LAN口与第二台路由器的WAN口相连。

2025-06-07 10:19:47 360

原创 EditPlus中.nut文件自动完成--acp配置文件解释

你可以根据需要扩展这个文件,添加更多的代码模板:plaintextfunction ^!()return;;*/这样,当你输入function并触发自动完成时,会得到一个完整的函数定义模板。

2025-06-06 14:07:58 178

WinSCP 是 Windows 环境下出色的开源图形化 SFTP 客户端,也支持 SCP 协议

它能在本地与远程计算机间安全地复制文件,可连接 Linux 等多种系统,打破系统间文件传输壁垒。其界面直观,用户通过简单拖拽就能完成文件上传、下载及管理,无需记忆复杂命令。同时,它支持多种文件操作,如重命名、改变属性等。WinSCP 还具备多种加密方式,遵循 GPL 许可证发布,保证了文件传输的安全性和软件的可靠性。另外,它有 Windows Explorer 和 Norton Commander 两种界面可选,还支持批处理脚本、命令行方式及多种目录同步方式,并且可与 Putty 集成,为用户提供了便捷、高效的文件传输和管理解决方案。

2025-04-16

Restart on Crash 是一款免费的 Windows 系统进程监控软件

功能特点 1.自动重启:持续监控用户指定的应用程序和文件夹,当监控的程序崩溃或挂起时,能自动将其重启,确保程序始终运行。 2.可配置性高:允许用户将无限数量的应用程序和文件夹添加到监控队列,还能单独启用 / 禁用它们,并编辑用于重启应用程序的命令行。同时,可设定不同的监控模式,如实时监控或定时监控。 3.操作便捷:界面简洁明了,通过选择特定的 EXE 文件来监控应用程序,也可从当前正在运行的进程列表中选择添加监控项目。 4.日志记录:会生成日志文件,记录所有可能的错误,包括监控程序的启动时间、崩溃时间、无响应时间等,方便用户查看和排查问题。 5.资源占用少:运行时不会消耗太多系统资源,对系统性能影响较小。 6.灵活配置:具有多种配置选项,如设置宽限期,即检测到应用程序崩溃或无响应后,等待多长时间再执行重启操作;可勾选在 Windows 启动时自动运行、启动时最小化到系统托盘、关闭时最小化到系统托盘、启动时检查更新等选项。

2025-04-16

适用于VS2022的 VA Assist(全称 Visual Assist)是一款由 Whole Tomato Software 公司开发的非常强大的 Visual Studio 插件

VA Assist(全称 Visual Assist)是一款由 Whole Tomato Software 公司开发的非常强大的 Visual Studio 插件,在编程开发中深受程序员喜爱,以下是它的主要特点和功能:代码自动完成与提示、代码导航、重构代码、错误检测与修正、代码生成、代码格式化、智能搜索

2025-04-15

libmodbus编译好的windows x86 版本的dll

Libmodbus 是一个用于 Modbus 协议的开源库,提供了丰富的函数接口,可方便实现设备间的 Modbus 通信,支持多种平台,能轻松移植到不同系统中,有助于开发人员快速构建 Modbus 相关应用程序。我已编译好windows x86 版本的dll

2025-04-11

Astyle3.6.4 可执行文件

AStyle 3.6.4 是一款广泛使用的开源代码格式化工具,专注 C、C++、C# 和 Java 等编程语言。它不仅能大幅提升代码可读性,助力团队开发协作,而且配置灵活,使用方便。凭借快速稳定特性,深受开发者喜爱,能有效提升代码整理效率 。

2025-03-29

squirrel语言源码

Squirrel是一种较新的程序设计语言,它从著名的LUA语言继承了很多特性,适用的范围也与LUA语言相似。

2025-03-27

boost::asio 库源码1.30.2

asio 是boost库中优秀的网络库。asio是一个异步的io库,支持以同步或异步的方式处理事件,也可以用于基于tcp或udp的网络通信。 (1)可移植到windows(完成端口实现)、linux(epoll实现)、FreeBSD、UNIX(kqueue实现)。 (2)可扩展性。 (3)效率很高。 (4)易使用,类 Socket API 编程模型。 支持同步、异步通信方式。

2025-03-27

C++11 引入的范围基 for 循环(Range-based for loop),测试代码

C++11 引入的范围基 for 循环(Range-based for loop)是一种简洁而强大的语法,用于遍历容器(如数组、向量、列表、集合等)。它不仅提高了代码的可读性和可维护性,还减少了常见的错误,本代码将深入探讨范围基 for 循环的语法、用法、优缺点、适用场景以及一些实际应用示例

2025-03-27

基于OpenGL和SolidWorks的机械系统运动仿真原理及实现

为了规划机械系统的运动轨迹, 优化设计 参数, 以及开发上位机监控界面, 研究了一个运动仿 真系统. 三维模型基于三维 CA D 软件 SolidWorks 建立, 用 OpenGL 作为三维图形的接口, 运动仿真 软件以 Window s 操作系统为开发平台, 采用 Visual C+ + 的 MFC 为开发环境. 详细讨论了实现运 动仿真的一些关键技术, 并开发了仿真软件. 仿真结 果证明了这种方法的可行性, 对其它动态过程的三 维仿真也有一定的意义

2024-12-11

一个有10年工作经验的工程师对modbus协议总结 包括ModbusASCII 、ModbusRTU、ModbusTcp 报文

ModbusASCII 、ModbusRTU、ModbusTcp 协议,包括存储区分类、存储区代号、存储区范围、功能码、协议分类、报文格式、调试软件等多方面的总结。

2024-07-04

qt5.7windows下开发环境搭建和一个例子

我用的是Qt5.7,因此本次总结是基于Qt5.7.0的。我在自学的时候使用的IDE是Qt自带的Qt creator,上手简单,配置属于自己顺手的设置很方便,此外,如果进行Linux下的Qt开发也不用熟悉其他IDE了,还有一个好处就是它完全可以作为一个可以进行交叉编译开发的IDE,再加上它对vim的支持,对于我这种Windows和Linux等多种环境下开发的人来说,它不仅是开发QT的IDE,进行需要交叉编译的项目时也可以拿来用的

2024-06-28

优傲机器人(Universal Robot)使用笔记

优傲机器人(Universal Robot)使用笔记,包括坐标系,DH参数,UR系列DH参数

2024-06-28

UR机器人模拟软件URsim

UR机器人模拟软件URsim,非常好用,包含UR3、UR5 、UR10,效果与示教器一样

2024-06-28

MD5-AES 源码 c++,开源

MD5-AES 源码 c++,开源

2024-06-28

中国象棋源码( vs2010) 界面、音效、算法、人机对抗

支持多种棋盘,支持人机对战,支持走棋音效,支持悔棋,人工智能 vs2010 编写

2024-06-28

UR5机械臂的TCP/IP控制

最近研究了一下UR5机械臂的控制,由于供应商提供的实物是用自带的示教器来编程控制,感觉很不方便。于是我研究了一下UR5机械臂的资料,决定用Qt写个控制软件,将示教器上面的控制界面移植过来,这样就可以用电脑通过无线网络远程控制机械臂了

2024-04-07

基于TCPIP协议实现上位机对UR机器人的远程控制源码

c#写的上位机对UR机器人远程控制的代码。实现xyz平移控制、单轴旋转控制、速度控制、加速度控制、寄存器测试

2024-03-27

一款和电脑对弈的象棋软件,内置棋艺超强的象棋智能引擎,实现人机对弈 界面美观,容易上手,有音效、悔棋等功能

经典的中国象棋程序

2024-03-05

Windows平台上达梦数据库的ODBC驱动包(64位)

达梦数据库没有单独的ODBC驱动包,ODBC驱动在数据库的安装文件中,而数据库安装文件很大(1.2G),有时客户端只需安装一个odbc驱动,我做了这个单独安装包60多MB

2023-11-17

Windows平台上达梦数据库的ODBC驱动包(32位)

达梦数据库没有单独的ODBC驱动包,ODBC驱动在数据库的安装文件中,而数据库安装文件很大(1.2G),有时客户端只需安装一个odbc驱动,我做了这个单独安装包60多MB

2023-11-16

如何让Editplus支持squirrel语言

经过一段时间使用发觉squirrel 的开发工具比较少。网上有几个但是都用过感觉一般。决定用EditPlus。配置完实现关键字、函数、高光代码自动完成、代码调试。压缩包中包含nut.stx,nut.acp 文件

2022-05-22

qt开发的上位机程序源码。

一个基于QT的简单的上位机,实现的功能很简单:上位机通过串口来控制开发板上的一个LED的亮灭。· 自动列出所有串口,包括 上位机界面设计。 上位机逻辑代码编写。 添加上位机图标。 上位机程序的打包。 上位机测试验证。

2022-02-28

智商超高的中国象棋(VC++编写)

智商超高的中国象棋,VC++编写,单机版,支持人机对抗,支持步数记录,支持悔棋、支持音效。大家休息时可以玩一把,看能否打败电脑。

2022-01-23

使用QMediaPlayer开发音乐播放器

1.本地音乐播放器 核心播放功能 支持常见音频格式本地播放MP3、WAV、FLAC 等 2.播放控制:播放 / 暂停 / 停止 / 上一曲 / 下一曲 3.音量调节与静音功能 4.播放进度显示与进度条拖动控制 5.播放列表管理 支持批量添加本地音乐文件,并保存 6.自动记忆上次播放列表与播放位置 7.播放模式切换:顺序播放 / 单曲循环 / 随机播放 8.用户界面优化 响应式布局设计,支持窗口缩放 9.系统托盘集成,支持后台播放控制

2025-06-10

使用QMediaPlayer开发音乐播放器源码

1.本地音乐播放器 核心播放功能 支持常见音频格式本地播放MP3、WAV、FLAC 等 2.播放控制:播放 / 暂停 / 停止 / 上一曲 / 下一曲 3.音量调节与静音功能 4.播放进度显示与进度条拖动控制 5.播放列表管理 支持批量添加本地音乐文件,并保存 6.自动记忆上次播放列表与播放位置 7.播放模式切换:顺序播放 / 单曲循环 / 随机播放 8.用户界面优化 响应式布局设计,支持窗口缩放 9.系统托盘集成,支持后台播放控制

2025-06-10

CString类源码(丰富接口、大小写转换、比较、赋值、格式化)、测试用例

CString类源码(丰富接口、大小写转换、比较、赋值、格式化)、测试用例

2025-05-15

一个功能强大的计算器,集表达式计算、线性代数工具、超大整数计算工具

集表达式计算:含近30个常用函数(三角函数,反三角,双曲函数等),三个常数,临时存储器,历史记录,精度显示; 线性代数工具:支持矩阵的赋值,基本运算,行列式值,秩,转置矩阵,伴随矩阵,阶梯矩阵,逆矩阵(包含广义),特征值(包括复数), 特征向量,特征多项式,绝对值最大的特征值及对应的特征向量,判断是否为正交矩阵,解齐次线性方程组,解非齐次线性方程组,QR分解; 超大整数计算工具:基本四则运算,开方,乘方,阶乘,大数比较,不同显示模式; 还有多项式求根

2025-04-24

VC++写的音乐播放器源码

这是一套由 VC++ 精心编写而成的音乐播放器源码。它功能丰富且强大,能够完美支持mp3, mp2, mp1, ogg, flac, ac3, aac, oga, wav and pcm 多种主流音频格式。播放器具备播放、暂停、停止等基础操作功能,搭配进度条,让你能精准掌握歌曲播放进度。同时,它还能绘制波形图,带来更直观的音乐可视化体验。 在歌曲管理方面,它拥有歌曲列表管理功能,你可以轻松对播放列表进行编辑。支持多种播放模式,包括顺序播放、随机播放以及单曲循环,满足不同场景下的个性化听歌需求。此外,它还具备迷你模式,方便你在不占用过多屏幕空间的情况下持续享受音乐。并且,内置的歌曲查找功能,能让你快速定位到想听的歌曲。

2025-04-23

mychess250422,由VS2010 +MFC 写的中国象棋程序源码 可实现人机对抗、悔棋、走棋音效

mychess250422 是一款基于 VS2010 + MFC 开发的中国象棋程序源码,具备完整的人机对战功能,支持悔棋操作与走棋音效反馈,界面简洁,逻辑清晰,适合学习 MFC 框架开发或象棋算法设计的开发者参考。

2025-04-23

VBA拆分excel表格脚本

VBA拆分excel表格脚本。 该脚本可将excel表格中员工信息,按照各自的部门拆分,生成不同的部门.xls文件,极大提高办公效率

2025-04-23

基于qt写的音乐播放器,实现列表保存读取、添加、删除、进度条显示、音量调节

基于qt写的音乐播放器,实现列表保存读取、添加、删除、进度条显示、音量调节

2025-04-22

opencv-2.4.10

OpenCV 2.4.10 是经典计算机视觉库版本。它支持多种编程语言,功能丰富,有图像滤波、特征检测等基础操作,也有机器学习算法。优化了性能,提高了处理速度,在学术研究和工业项目中广泛应用,为计算机视觉开发提供有力支持。

2025-04-17

hellopencv (vs2010+opencv测试程序源码)

OpenCV2.4.10+VS2010写的测试程序。验证opencv环境搭建,并显示一张图片。

2025-04-17

Modbus Poll 64位

Modbus Poll 是一款用于测试和诊断 Modbus 设备的高效调试工具,在工业通信领域应用广泛。 基本信息:它能模拟 Modbus 主设备通信,支持 Modbus RTU、Modbus TCP、Modbus ASCII 等多种通信模式,以及多种数据类型。可通过连续请求获取从设备的传感器状态、执行器状态等数据,帮助工程师快速诊断网络连接问题,验证从设备功能。 功能特点:其功能丰富,能实时显示数据,用户可直观查看从设备状态。支持管理多设备,可同时监视多个 Modbus 从设备或数据区域。还允许创建自定义报文,在 “测试中心” 编写测试字符串来测试从设备,并提供日志记录功能,方便记录和分析通信数据。此外,它具备 OLE 自动化功能,能与 Excel 等软件交互 ,如利用 VBA 宏语言实现数据在 Excel 中的编辑和传输。 使用方法:使用时,先建立连接,根据设备协议选择连接类型,如 Modbus TCP/IP,设置好 IP 地址、端口号等参数。接着打开 “读 / 写定义” 对话框(按 F8 或通过菜单操作),配置从站 ID、功能码、地址等信息来定义要监视的数据。数据类型可按需修改,还能对寄存器描述、窗口配置、文字字体大小等进行调整。同时,支持发送写指令,双击数据位置即可编辑写入数值。

2025-04-16

GeoGebra 是一款自由且跨平台的动态数学软件、适用于各级教育 它融合了几何、代数、微积分统计等多种功能

GeoGebra 是一款自由且跨平台的动态数学软件,由奥地利数学家 Markus Hohenwarter 设计,适用于各级教育。它融合了几何、代数、微积分、统计等多种功能,用户既能绘制各类几何图形,又能输入方程和点坐标进行代数运算。 软件特色显著,不仅免费,还功能强大、简单易用且交互性强,支持多种语言。它拥有几何、代数、工作表等多个窗口,各窗口数据动态关联。在几何窗口可轻松作图,代数窗口能处理表达式,工作表窗口方便数据引用 。 GeoGebra 在全球备受欢迎,已有数百万人使用。为此还成立了专门机构,全球有 159 个 GeoGebra 研究院,中国于 2011 年成立了 GeoGebra 研究院,推动其在教学中的应用,并且它还荣获多个欧美教育软件大奖

2025-04-16

Astyle 3.6.5 源码

Astyle 3.6.5 是一款用于 C、C++、Java 等编程语言的代码格式化工具。其源码结构清晰,主要包含多个源文件和头文件。 核心源文件如 astyle_main.cpp 负责程序的主要逻辑,处理命令行参数并调用格式化函数。ASTYLE.cpp 中实现了具体的代码格式化算法,包括缩进处理、空格添加、换行等操作。Options.cpp 用于处理用户设置的各种格式化选项,使工具具有高度可配置性。 源码遵循面向对象和模块化设计原则,易于理解和扩展。通过对代码进行词法分析和语法分析,Astyle 能够准确识别代码结构,按照指定规则进行格式化。它还采用了一些优化策略,提高格式化效率。总体而言,Astyle 3.6.5 源码是学习代码格式化技术和 C++ 编程的良好范例。

2025-04-16

Azure Kinect SDK 是微软为 Azure Kinect DK 硬件设备量身打造的软件开发工具包,可助力开发者高效利用该设备的各项功能进行应用程序开发

主要功能 相机数据访问:能够获取彩色相机、深度相机以及红外相机的数据,便于开发者开展图像和视频处理工作。 人体骨骼跟踪:可以精准检测和跟踪人体的骨骼关节点,适用于动作捕捉、健身应用等领域。 麦克风阵列支持:支持设备的麦克风阵列,可实现音频录制、语音识别等功能。 校准和同步:提供校准工具和方法,能保证不同相机之间以及相机与麦克风之间的同步。 应用场景 游戏开发:借助人体骨骼跟踪功能,为游戏增添更自然、更具沉浸感的交互体验。 机器人导航:利用深度相机数据,帮助机器人感知周围环境,实现自主导航。 智能安防:通过人体检测和跟踪,实现对特定区域的人员监控和异常行为预警。 开发流程 安装 SDK:从微软官方网站下载并安装 Azure Kinect SDK。 配置开发环境:依据所使用的开发语言(如 C++、Python 等),配置相应的开发环境。 编写代码:使用 SDK 提供的 API 访问设备数据,实现所需功能。 测试和调试:将开发好的应用程序部署到实际设备上进行测试和调试。

2025-04-16

git 2.32.0-64位安装文件

Git 是一款免费、开源的分布式版本控制系统,由林纳斯・托瓦兹为管理 Linux 内核开发而创建。 其优势显著。分布式特性让每个开发者本地都有完整项目仓库,离线也能工作,还可在本地管理版本。强大的分支管理功能使开发者能轻松创建、切换和合并分支,方便并行开发新功能或修复问题。 Git 应用广泛,在软件开发领域,团队成员用它管理代码,高效协作;在开源项目里,全球开发者借此共同改进项目。 操作上,基本命令简洁实用。git clone可复制远程仓库到本地;git add将文件添加到暂存区;git commit把暂存区文件提交到本地仓库;git push推送本地更新到远程仓库;git pull拉取远程更新到本地。 总之,Git 凭借高效、灵活、强大的版本控制能力,成为开发者和团队进行项目管理的得力工具。

2025-04-16

std for-each学习笔记

std::for_each 是 C++ 标准库 <algorithm> 头文件中提供的一个算法,它允许你对一个序列(如数组、std::vector、std::list 等)中的每个元素执行指定的操作。下面详细介绍它的用法。

2025-04-16

范围基 for 循环学习笔记

C++11 引入的范围基 for 循环(Range-based for loop)是一种简洁而强大的语法,用于遍历容器(如数组、向量、列表、集合等)。它不仅提高了代码的可读性和可维护性,还减少了常见的错误。本文将深入探讨范围基 for 循环的语法、用法、优缺点、适用场景以及一些实际应用示例。

2025-04-16

空空如也

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

TA关注的人

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