- 博客(22)
- 收藏
- 关注
原创 C++跨平台开发之基于wxWidgets开发GUI程序简介-001
本文简要介绍了wxWidgets跨平台GUI库及其安装编译过程,详细介绍了Windows系统和vs2026集成开发环境中的项目配置情况,并引入一个简单的wxWidgets开发案例。
2026-05-24 17:10:30
501
原创 AI时代C++软件开发工程师的思考
随着AI大模型的普及,软件工程师面临转型挑战,未来需从代码编写转向需求管理、业务领域专家、软件验证测试等角色,强调深入理解底层原理和工业软件确定性要求。AI无法替代具备行业知识和批判性思维,建议主动拥抱AI并实现与AI协作共赢。
2026-05-20 23:06:29
425
原创 C++软件开发之内存泄漏闭坑方法
本文介绍了C++软件开发之内存泄漏常见的问题,并从C标准库提供的动态分配内存的函数、C++语言的操作符new和delete的使用方面进行了基础性介绍和知识普及。在软件开发过程中,此类应用属于最简单的闭坑方法,为防止内存泄漏或者避免内存对象频繁分配和释放,开发人员应当根据业务需要自行设计专用数据结构来统一管控对象的创建和销毁,例如设计一些队列、栈等模板或者直接使用STL标准模板库。
2026-01-18 23:34:04
781
原创 C++弱引用智能指针std::weak_ptr使用介绍
std::weak_ptr智能指针不能独立管理对象,但可解决std::shared_ptr循环引用问题,同时为系统内存数据库、观察者设计模式应用等场景提供了安全高效的解决方案,其核心要点是“弱引用、不计数、安全观测”。在实时运行的大规模应用软件系统开发中,合理搭配std::shared_ptr和std::weak_ptr类型智能指针,可有效规避内存泄漏风险,提高系统健壮性,保障稳定运行。
2026-01-17 22:42:50
943
原创 C++共享型智能指针std::shared_ptr使用介绍
本文重点介绍了C++共享类型的智能指针std::shared_ptrd的用法,通过工控组态软件两种场景案例剖析了详细设计及试用,使用智能指针实现内存对象的生存期自动管理,简化了源代码设计。
2025-06-28 23:16:34
977
原创 C++智能指针概念及std::unique_ptr使用介绍
介绍了C++11标准引入的智能指针的概念、机制以及分类,并重点介绍了其中一种所有权独占智能指针(std::unique_ptr)的用法,并进行了源代码剖析。
2025-06-26 22:21:03
1219
原创 跨平台C++软件开发之基本数据类型介绍
跨平台C++软件开发必须重视原生数据类型的字节宽度,由于不同平台对数据类型定义存在差异,开发者不能依赖于编译器的默认行为,为确保代码可移植性,应优先使用固定宽度类型,避免隐式类型转换,特别是涉及不同宽度整数或浮点数的运算。此外,还需注意内存对齐对结构体布局的影响,在跨平台数据传输时使用序列化库而非直接内存操作。
2025-06-25 21:51:33
895
原创 跨平台 C++ 软件开发之共享内存使用介绍
共享内存是跨不同操作系统平台C++软件开发中实现高效进程间通信的重要手段,本文分别介绍了Windows和Linux系统下共享内存的实现机制和使用方法,并通过C++源代码示例展示了如何构建一个跨平台共享内存封装类。
2025-06-24 22:41:04
1158
原创 跨平台C++软件开发之线程同步锁介绍
分别介绍了Windows和Linux操作系统关于线程同步锁的实现机制和差异,并分别通过源代码案例介绍了两种系统下同步锁的实现方法,然后设计了支持在Windows和Linux操作系统下使用的线程同步锁类库,并设计实现了RAII范式的自动管理锁,确保了线程安全和同步锁资源正确释放,最后简要介绍了C++标准库的线程同步锁的使用。
2025-06-22 14:04:04
914
原创 跨平台C++软件开发之标准线程库使用介绍
线程库已引入到C++11及以后得标准版本中,读者可以在后台服务程序开发过程中使用std::thread库,提升所开发软件的系统兼容性和适用性。本文介绍了线程库的特性和主要方法,并通过一个应用案例C++源代码展示了std::thread和类对象的绑定用法。
2025-06-19 23:22:16
832
原创 C++软件源代码重构之性能改善提升
提升软件系统的性能可以从C++语言的特性入手,对程序代码进行优化,规避编译器的默认处理,减少不必要的性能开销,从而改善程序性能;还可以从软件设计方面入手,综合考虑硬件配置、网络带宽、资源开销等多个方面,采取不同的设计策略来达到改善软件系统性能的目的。
2025-06-15 00:23:38
606
原创 C++软件源代码重构之模板应用简介
C++泛型编程是通过编写与具体数据类型无关的代码来实现代码重用和增强编程灵活性的编程范式,泛型编程的核心思想是通过模板实现类型参数化,包括类模板和函数模板。本文介绍了基于C++类模板和STL标准库的std::list容器类进行多种命令队列类重构设计的典型案例,并简要介绍函数模板特点及应用。
2025-06-01 15:47:37
670
2
原创 C++软件源代码重构之表格驱动应用
通过通信协议应用数据解帧的典型案例,分析了采用switch/case语句进行软件设计的缺点,并通过两种不同方法的源代码重构设计思路,介绍了表格驱动设计方法在C++软件开发中的应用。在面临switch/case或if/else if/else等大量分支或比较链的应用场景时,开发者可以借鉴表格驱动的设计思路,提升源代码质量,规避程序修改带来的风险。
2025-05-24 23:08:03
1841
原创 跨平台C++软件开发简介
本文简要介绍了C++跨平台软件开发的基础知识,针对后台部署、桌面应用等不同类型的应用软件提出了跨平台开发策略和技术路线选择的建议,最后介绍了常见开源许可协议及其注意问题。
2025-05-18 15:45:08
726
原创 C++设计模式之单实例模式介绍,附线程安全的日志管理器源代码示例
本文介绍了创建型设计模式中最简单的单实例模式及其适用场景,并将其与全局变量进行了对比,通过一个日志管理器的C++源代码示例,详细展现了单实例模式的运行机制,还可保证单例对象访问的线程安全。
2025-05-17 18:19:37
851
原创 面向对象设计原则之依赖倒置介绍,含C++源代码示例
作为面向对象软件设计基本原则之一,依赖倒置原则(DIP,Dependence Inversion Principle)是上层模块要依赖于抽象接口,不要依赖于具体实现,本文通过工控领域绘图软件设计的案例介绍了该原则。
2025-05-13 22:00:05
1988
原创 C++设计模式之抽象工厂模式介绍,含源代码示例
抽象工厂设计模式是一种创建型设计模式,它提供了一种方式,可将一组相关的对象创建封装起来,而无需指定它们具体的类。该模式让系统在创建对象时,能独立于对象的具体实现类,从而提高系统的可扩展性和可维护性。
2025-05-08 00:51:01
1010
原创 C++设计模式之状态模式介绍,含源代码示例
本文重点介绍C++设计模式的状态模式并通过一个简单通信客户端的示例进行了分析、设计、编码并运行,演示了使用状态模式之后的效果。采用状态模式可以优化程序架构、减少判断分支语句,从而使我们的代码逻辑性、可读性更好。
2025-04-20 13:20:37
822
原创 基于libmicrohttpd库的Web工业监控系统示例
基于libmicrohttpd库的Web工业监控系统示例,读者可自行与业务系统对接,实现数据监视、设备配置、信息检索等功能。
2025-04-16 23:56:43
1147
原创 面向对象软件开发之拙见
对象一定是具有某种行为的实体,实体的这种行为可以是内在的、自我的、封闭的,也可以是与其它对象之间发生相互作用,对象要具备某些行为和动作。
2014-07-25 12:13:06
507
原创 环形字节缓冲区源代码
设计了一个环形字节缓冲区类,可用于通信数据收发的缓冲处理。类的读写及查看接口已经加上了多线程同步访问锁。环形缓冲区需要有一个读指针(位置)和写指针(位置)。其中读指针由读数据接口来移动,写指针由写数据接口来移动。在读出和写入数据时,要分贝考虑 读指针超前与滞后写指针 两种情况。 (一)头文件:CircleByteBuffer.h#ifndef CIRCLEBYTEBUFFER_
2009-09-17 14:43:00
822
原创 Linux系统共享库编程
一、说明 类似Windows系统中的动态链接库,Linux中也有相应的共享库用以支持代码的复用。Windows中为*.dll,而Linux中为*.so。下面详细介绍如何创建、使用Linux的共享库。二、创建共享库 在mytestso.c文件中,代码如下:#include #include int GetMax(int a, int b){ if (a >= b)
2009-04-29 19:11:00
1720
C++标准线程库的使用示例
2025-06-23
基于libmicrohttpd库的Web工业监控系统示例C++源代码
2025-06-18
单机版的五子棋游戏C++源代码
2025-06-18
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅