自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(18)
  • 收藏
  • 关注

原创 C++共享型智能指针std::shared_ptr使用介绍

本文重点介绍了C++共享类型的智能指针std::shared_ptrd的用法,通过工控组态软件两种场景案例剖析了详细设计及试用,使用智能指针实现内存对象的生存期自动管理,简化了源代码设计。

2025-06-28 23:16:34 892

原创 C++智能指针概念及std::unique_ptr使用介绍

介绍了C++11标准引入的智能指针的概念、机制以及分类,并重点介绍了其中一种所有权独占智能指针(std::unique_ptr)的用法,并进行了源代码剖析。

2025-06-26 22:21:03 1099

原创 跨平台C++软件开发之基本数据类型介绍

跨平台C++软件开发必须重视原生数据类型的字节宽度,由于不同平台对数据类型定义存在差异,开发者不能依赖于编译器的默认行为,为确保代码可移植性,应优先使用固定宽度类型,避免隐式类型转换,特别是涉及不同宽度整数或浮点数的运算。此外,还需注意内存对齐对结构体布局的影响,在跨平台数据传输时使用序列化库而非直接内存操作。

2025-06-25 21:51:33 780

原创 跨平台 C++ 软件开发之共享内存使用介绍

共享内存是跨不同操作系统平台C++软件开发中实现高效进程间通信的重要手段,本文分别介绍了Windows和Linux系统下共享内存的实现机制和使用方法,并通过C++源代码示例展示了如何构建一个跨平台共享内存封装类。

2025-06-24 22:41:04 980

原创 跨平台C++软件开发之线程同步锁介绍

分别介绍了Windows和Linux操作系统关于线程同步锁的实现机制和差异,并分别通过源代码案例介绍了两种系统下同步锁的实现方法,然后设计了支持在Windows和Linux操作系统下使用的线程同步锁类库,并设计实现了RAII范式的自动管理锁,确保了线程安全和同步锁资源正确释放,最后简要介绍了C++标准库的线程同步锁的使用。

2025-06-22 14:04:04 776

原创 跨平台C++软件开发之标准线程库使用介绍

线程库已引入到C++11及以后得标准版本中,读者可以在后台服务程序开发过程中使用std::thread库,提升所开发软件的系统兼容性和适用性。本文介绍了线程库的特性和主要方法,并通过一个应用案例C++源代码展示了std::thread和类对象的绑定用法。

2025-06-19 23:22:16 751

原创 C++软件源代码重构之性能改善提升

提升软件系统的性能可以从C++语言的特性入手,对程序代码进行优化,规避编译器的默认处理,减少不必要的性能开销,从而改善程序性能;还可以从软件设计方面入手,综合考虑硬件配置、网络带宽、资源开销等多个方面,采取不同的设计策略来达到改善软件系统性能的目的。

2025-06-15 00:23:38 555

原创 C++软件源代码重构之模板应用简介

C++泛型编程‌是通过编写与具体数据类型无关的代码来实现代码重用和增强编程灵活性的编程范式,泛型编程的核心思想是通过模板实现类型参数化,包括类模板和函数模板。本文介绍了基于C++类模板和STL标准库的std::list容器类进行多种命令队列类重构设计的典型案例,并简要介绍函数模板特点及应用。

2025-06-01 15:47:37 600 2

原创 C++软件源代码重构之表格驱动应用

通过通信协议应用数据解帧的典型案例,分析了采用switch/case语句进行软件设计的缺点,并通过两种不同方法的源代码重构设计思路,介绍了表格驱动设计方法在C++软件开发中的应用。在面临switch/case或if/else if/else等大量分支或比较链的应用场景时,开发者可以借鉴表格驱动的设计思路,提升源代码质量,规避程序修改带来的风险。

2025-05-24 23:08:03 1773

原创 跨平台C++软件开发简介

本文简要介绍了C++跨平台软件开发的基础知识,针对后台部署、桌面应用等不同类型的应用软件提出了跨平台开发策略和技术路线选择的建议,最后介绍了常见开源许可协议及其注意问题。

2025-05-18 15:45:08 633

原创 C++设计模式之单实例模式介绍,附线程安全的日志管理器源代码示例

本文介绍了创建型设计模式中最简单的单实例模式及其适用场景,并将其与全局变量进行了对比,通过一个日志管理器的C++源代码示例,详细展现了单实例模式的运行机制,还可保证单例对象访问的线程安全。

2025-05-17 18:19:37 754

原创 面向对象设计原则之依赖倒置介绍,含C++源代码示例

作为面向对象软件设计基本原则之一,依赖倒置原则(DIP,Dependence Inversion Principle)是上层模块要依赖于抽象接口,不要依赖于具体实现,本文通过工控领域绘图软件设计的案例介绍了该原则。

2025-05-13 22:00:05 1914

原创 C++设计模式之抽象工厂模式介绍,含源代码示例

抽象工厂设计模式是一种创建型设计模式,它提供了一种方式,可将一组相关的对象创建封装起来,而无需指定它们具体的类。该模式让系统在创建对象时,能独立于对象的具体实现类,从而提高系统的可扩展性和可维护性。

2025-05-08 00:51:01 911

原创 C++设计模式之状态模式介绍,含源代码示例

本文重点介绍C++设计模式的状态模式并通过一个简单通信客户端的示例进行了分析、设计、编码并运行,演示了使用状态模式之后的效果。采用状态模式可以优化程序架构、减少判断分支语句,从而使我们的代码逻辑性、可读性更好。

2025-04-20 13:20:37 746

原创 基于libmicrohttpd库的Web工业监控系统示例

基于libmicrohttpd库的Web工业监控系统示例,读者可自行与业务系统对接,实现数据监视、设备配置、信息检索等功能。

2025-04-16 23:56:43 1008

原创 面向对象开发之拙见

首先对象是什么?对象一定是具有xingwei

2014-07-25 12:13:06 461

原创 环形字节缓冲区源代码

设计了一个环形字节缓冲区类,可用于通信数据收发的缓冲处理。类的读写及查看接口已经加上了多线程同步访问锁。环形缓冲区需要有一个读指针(位置)和写指针(位置)。其中读指针由读数据接口来移动,写指针由写数据接口来移动。在读出和写入数据时,要分贝考虑 读指针超前与滞后写指针 两种情况。 (一)头文件:CircleByteBuffer.h#ifndef CIRCLEBYTEBUFFER_

2009-09-17 14:43:00 780

原创 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 1679

C++标准线程库的使用示例

该示例代码重点描述C++11及以上标准关于std::thread线程的基本用法,并介绍如何与C++类对象进行关联绑定的用法。虽然std::thread已经是标准C++库的一部分,但是在不同操作系统和编译工具中,仍需要注意标准库的版本和编译器是否支持的问题。

2025-06-23

基于libmicrohttpd库的Web工业监控系统示例C++源代码

使用Visual Studio 2022 Community 集成开发环境,如果在Linux系统使用需要下载并编译libmicrohttpd源代码。

2025-06-18

单机版的五子棋游戏C++源代码

1、单机版的五子棋游戏支持两人下期模式。 2、C++源代码支持在vs2022Community环境。 3、原则上支持跨操作系统平台编译运行,尚未在Linux调试过,应该问题不大。

2025-06-18

空空如也

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

TA关注的人

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