- 博客(397)
- 收藏
- 关注
原创 Drawnix:一款免费开源的白板工具,支持思维导图、流程图、类图和手绘图
Drawnix是一款开源免费的白板工具,支持流程图、思维导图、类图等多种绘图需求。它提供文本驱动(Mermaid/Markdown语法)和可视化拖拽两种绘制方式,满足不同用户习惯。工具具备跨平台适配、自动保存、多格式导出等功能,支持样式自定义和插件扩展。适用于个人创作和团队协作,可通过Docker快速部署或直接在线使用。其核心优势在于将结构化语法输入与灵活的手动编辑相结合,兼顾效率与自由度。
2025-08-18 16:40:24
275
原创 CMake进阶: 配置文件(configure_file)
CMake的configure_file命令用于将模板文件中的变量占位符替换为实际值,生成最终配置文件。它支持变量替换(@VAR@或${VAR}形式)、跨平台适配(路径分隔符和换行符处理)以及动态配置生成。常用场景包括:1)生成含版本信息的头文件;2)创建跨平台脚本;3)仅复制文件(COPYONLY模式)。通过#cmakedefine语法可实现条件编译,且输出文件通常放在构建目录以避免污染源代码。该命令是连接构建配置与源代码的关键工具,能显著提升项目的灵活性和跨平台兼容性。
2025-08-16 12:56:30
891
2
原创 CMake基础:帮助手册的使用
CMake 提供了多种帮助文档查询方式:1. 在线文档(权威完整):访问官网查看最新版或特定版本文档,包含教程、命令手册、模块说明等核心内容。2. 离线文档:安装目录下的 HTML 文件提供本地浏览。3. 命令行帮助(快速查询):- 基础帮助:cmake --help 分类查询:--help-command/--help-module 查看命令/模块 列表查询:--help-command-list/--help-module-list 获取完整清单 版本兼容:--help-policy 查询版本策略
2025-08-16 10:04:04
1312
原创 CMake进阶: externalproject_add用于在构建阶段下载、配置、构建和安装外部项目
externalproject_add是CMake中ExternalProject模块的核心命令,用于在构建阶段集成外部项目(如第三方库)。与FetchContent不同,它在构建阶段处理依赖,适合非CMake项目或需自定义构建流程的场景。支持从Git/压缩包下载源码,并通过CMAKE_ARGS配置参数、BUILD_COMMAND自定义构建步骤等。示例展示了集成fmt库的完整流程,包括目录设置、依赖声明及手动链接库文件。与FetchContent相比,externalproject_add更灵活但配
2025-08-14 23:05:29
710
1
原创 C++中的链式操作原理与应用(三):专注于异步操作延的C++开源库 continuable
continuable是一个现代C++异步编程库,采用header-only设计,支持C++11及以上标准。它通过延续传递风格封装异步操作,提供链式调用then()、统一错误处理catch_()和操作组合(when_all/when_seq)等特性,有效解决回调地狱问题。该库支持与回调函数、std::future和协程等多种异步模型集成,具有轻量级、类型安全等优点。安装只需包含头文件,典型应用场景包括网络请求、文件IO等异步操作。通过CMake配置项目后,开发者可以编写线性结构的异步代码,显著提升可读性和维
2025-08-14 22:35:56
1003
原创 CMake进阶: 使用FetchContent方法基于gTest的C++单元测试
本文介绍了利用CMake的FetchContent模块集成GoogleTest(GTest)进行C++单元测试的方法。主要内容包括:1. FetchContent模块的功能与优势,可自动下载、配置和构建外部依赖项目;2. 关键指令详解:FetchContent_Declare声明项目信息,FetchContent_MakeAvailable执行下载与集成;3. 完整示例展示如何构建测试项目,包括项目结构、CMake配置和测试用例编写;4. 常见问题解决方案,如网络下载失败、多配置生成器问题等;
2025-08-13 22:01:44
1158
3
原创 通信中间件 Fast DDS(一) :编译、安装和测试
本文详细介绍了FastDDS(数据分发服务)在Windows和Linux系统下的编译安装过程。在Windows环境下,通过Visual Studio、CMake和vcpkg工具链完成FastCDR、FoonathanMemory等依赖库的安装,并重点解决了FoonathanMemory安装报错问题。Linux环境下则通过源码编译方式安装,特别处理了麒麟系统中asio库版本不兼容的问题。安装完成后,通过运行HelloWorld示例程序验证了发布-订阅功能的正确性。文章还总结了依赖缺失、版本不兼容等常见问题的解
2025-08-13 22:01:17
3068
5
原创 function2:一个专注于函数对象包装的现代 C++ 开源库
function2是C++的开源函数对象包装库,针对std::function的不足进行了优化。它具有高性能、低开销、非空保证和移动语义支持等特性,提供function(可空)和unique_function(非空)两种包装器。该库采用头文件方式集成,支持栈存储小型函数对象,避免堆分配,调用开销更低。function2适用于高频回调、移动语义依赖等场景,可无缝替代std::function,并与Boost.Asio、Qt等框架结合使用。其独特优势包括:编译期非空检查、完美支持移动语义、更好的类型擦除效率,特
2025-08-12 11:26:42
931
原创 concurrentqueue:一个高并发高性能的C++无锁队列
并发队列是多线程编程中实现线程安全数据共享的核心组件,支持多线程同时进行入队和出队操作。主要实现方式包括基于锁的(如C++的mutex和condition_variable)和无锁(如原子操作和CAS机制)两种。其中,moodycamel::ConcurrentQueue是高性能无锁实现,支持批量操作和任意数据类型;Intel TBB提供优化锁实现;Boost.Lockfree则适合Boost生态项目。选择时需权衡性能、依赖和场景需求,避免重复造轮子。
2025-08-07 22:29:04
707
4
原创 vcpkg: 一款免费开源的C++包管理器
vcpkg是微软开发的跨平台C++包管理工具,支持Windows、Linux和macOS系统,提供2300+开源库管理。核心功能包括自动依赖处理、跨平台一致性、灵活目标配置和主流构建系统集成。安装简单,通过Git克隆仓库后运行bootstrap脚本即可使用。常用命令涵盖库搜索、安装、更新等操作,通过triplet标识管理不同平台架构配置。支持与CMake、Visual Studio项目无缝集成,推荐使用清单模式管理项目依赖。vcpkg通过ports系统定义库元信息,按triplet隔离构建环境,解决C++开
2025-08-06 22:21:55
1169
2
原创 CMake指令:add_test
CMake中的add_test命令用于将测试程序注册到CTest框架,实现测试自动化管理。该命令通过NAME指定测试名称,COMMAND定义执行命令,支持参数、工作目录和环境变量等配置。典型用法包括注册GTest测试程序、设置测试依赖、传递命令行参数等。使用时需先调用enable_testing(),确保测试名称唯一,推荐使用生成器表达式$<TARGET_FILE>引用目标路径。add_test结合ctest命令可实现测试批量运行、结果查看和报告生成,是CMake项目测试体系的核心组件。
2025-08-04 10:56:04
871
原创 CMake指令:mark_as_advanced
CMake中的mark_as_advanced()命令用于控制变量在配置工具中的显示行为,可将指定变量标记为"高级变量",使其默认隐藏,仅在用户启用"显示高级选项"时可见。该命令通过隐藏非必要变量(如内部调试参数、系统路径等)来简化配置界面,同时保留关键变量的可见性。支持清除标记(CLEAR参数)和批量操作,适用于第三方库配置、开发调试变量等场景。需注意该命令仅影响变量显示,不影响实际功能,且不应标记核心配置变量。合理使用能有效提升大型项目的配置界面友好性。
2025-08-02 16:24:34
1044
2
原创 Windows和Linux的tree工具
摘要:tree命令是一款实用的目录树形结构展示工具,适用于Linux和Windows系统。Linux版本功能丰富,支持文件过滤(-P/-I)、层级控制(-L)、大小显示(-h)等高级功能,需手动安装;Windows原生版本功能较基础,仅支持目录展示(/f)和ASCII字符(/a)。两个系统的主要差异在于功能完整性和参数支持度。该工具通过直观的树状结构展示文件层级关系,可有效提升项目结构梳理和文件管理效率,特别适合开发者、运维人员使用。高级用法包括生成JSON/HTML格式输出、结合grep过滤等,是代码阅读
2025-08-01 20:04:08
989
原创 MakeInstaller: 一款麒麟操作系统安装包制作工具
麒麟操作系统推出MakeInstaller工具(星星助手),为国产信创生态提供可视化软件打包方案。该工具支持DEB/RPM/SQUASHFS等多种包格式,自动分析依赖关系,适配飞腾、龙芯等国产架构,可将二进制文件、脚本等资源打包为符合麒麟系统规范的安装包。其可视化界面显著降低打包门槛,支持安装脚本配置、数字签名等高级功能,适用于信创项目适配、企业工具分发等场景。通过自动处理依赖冲突和多架构适配,有效解决国产系统下的软件打包痛点,开发者可通过麒麟官网或社区获取工具及技术支持。
2025-07-31 22:37:11
907
1
原创 minidocx: 在C++11环境下运行的解决方案(二)
本文介绍了在麒麟服务器系统(gcc5.4.0仅支持C++11)环境下改造minidocx(基于C++20的Word操作库)的解决方案。通过将C++20标准降级为C++11,并用Boost库替代不兼容的std::filesystem模块,详细说明了Boost1.80.0的下载、编译安装及环境配置过程。文章提供了修改后的源码下载链接,并验证了改造后的库在低版本gcc下的编译运行效果。最后强调源码改造需结合实际情况评估,仅建议在修改量小、测试充分的情况下采用此方案。
2025-07-31 13:25:59
1083
原创 gTest测试框架的安装与配置
本文详细介绍了gMock(Google Mock)的安装与项目配置方法。主要内容包括:1)准备工作,说明所需编译器和构建工具;2)Linux/macOS和Windows系统的安装步骤,包括源码编译和系统目录安装;3)项目配置指南,演示如何通过CMake在C++项目中集成gMock,包含测试代码示例;4)常见问题及解决方案。gMock作为Google Test框架的扩展,可帮助开发者创建模拟对象进行单元测试。安装过程需确保系统支持C++11标准,并通过CMake正确链接库文件。文章提供了完整的配置流程和测试用
2025-07-29 23:29:21
594
1
原创 CMake进阶: COMMAND 关键字功能总结
CMake中的COMMAND关键字主要有两种用途:1)在if()语句中检查函数/命令是否存在,用于条件判断;2)在add_custom_command()和add_custom_target()中定义构建过程中要执行的命令。前者可用于兼容性检查,后者则用于扩展构建流程,如生成文件、运行脚本等。COMMAND支持系统命令、脚本和项目目标,并能根据平台差异实现跨平台兼容。理解这两种用法是掌握CMake自定义构建逻辑的关键。
2025-07-28 11:34:29
1091
3
原创 CMake指令:include(将脚本中的内容, 如函数、变量、配置等引入当前的构建上下文)
本文详细介绍了CMake中include()命令的基础用法和关键特性。include()用于加载CMake脚本文件或模块,实现代码复用和模块化管理。文章阐述了其基本语法、主要用途(包含自定义脚本、加载内置模块、组织子项目配置、条件包含等),并重点说明了路径搜索规则、作用域可见性和策略隔离等关键特性。同时对比了include()与add_subdirectory()的区别,并给出了避免循环包含、处理可选脚本等实用建议。合理使用include()能有效提升CMake脚本的可维护性,特别适用于大型项目的构建管理。
2025-07-28 11:06:01
1167
原创 CMake进阶: CMake的策略和向后兼容
CMake通过策略机制实现版本兼容性与功能升级的平衡。每个策略(如CMP0048)对应特定行为变更,开发者可灵活选择新旧行为。核心原则包括版本绑定策略、保留旧行为、提供过渡期警告。最佳实践建议明确指定最低版本、渐进式迁移策略、多版本测试。该机制既支持旧项目稳定运行,又便于逐步采用新特性,有效管理技术债务。命令行参数和cmake_minimum_required()可批量控制策略状态,简化兼容性管理。
2025-07-27 17:57:23
712
2
原创 CMake进阶: 编译代码命令(try_compile)
CMake中的try_compile命令是一个强大的工具,用于验证代码片段在特定环境下的编译可行性。它通过创建临时编译环境、执行编译测试并返回结果(成功/失败),广泛应用于检查编译器特性、库兼容性和头文件可用性等场景。文章详细介绍了try_compile的工作原理、基本语法和典型用法,包括检查C++11特性、库链接测试以及头文件存在性验证。通过封装通用函数和对比其他检查工具,展示了try_compile在跨平台项目中的灵活性和重要性,是确保代码可移植性的关键手段。
2025-07-27 12:03:42
888
1
原创 CMake进阶: 检查函数/符号存在性、检查类型/关键字/表达式有效性和检查编译器特性
CMake检测机制全面解析 本文系统介绍了CMake中用于检测系统特性的各类工具。主要内容包括: 功能检测:使用CheckLibraryExists检查库函数、check_c_symbol_exists验证C符号 类型检查:通过CheckTypeSize检测类型大小、CheckCXXTypeExists验证C++类型存在性 编译器支持:CheckCXXCompilerFlag检查编译器标志、CheckLinkerFlag验证链接器选项 这些检测工具构成了CMake跨平台构建的核心能力,可根据不同需求(如检查
2025-07-25 22:23:39
1566
原创 miniz:一个轻量级、高性能的开源压缩库
miniz是一个轻量级开源压缩库,提供ZLIB/GZIP兼容的压缩/解压缩功能。其核心优势在于单文件实现(miniz.c+miniz.h)、跨平台支持和零依赖,编译后仅50-100KB。支持DEFLATE算法、9级压缩控制、CRC32校验及基础ZIP操作,适用于嵌入式系统、游戏开发等资源受限场景。与标准ZLIB相比,miniz体积更小但功能简化,性能良好但更适用于轻量级应用。使用简单,只需包含头文件并编译源文件即可,提供流式处理接口支持大文件操作。
2025-07-25 12:13:09
757
原创 C++异常处理:使用backtrace定位Linux程序的崩溃位置
本文介绍了在嵌入式Linux开发中使用backtrace工具定位程序崩溃的方法。当程序因bug崩溃时,通过signal函数捕获SIGSEGV等信号,在handler中调用backtrace获取调用栈信息,再结合addr2line工具将地址转换为可读的函数名和行号。文章详细讲解了signal、backtrace等关键函数的使用方法,并提供了示例代码和调试步骤。编译时需添加-g选项保留调试信息,运行时可通过gdb或coredump文件进一步分析。该方法能有效解决多人协作开发中难以定位崩溃点的问题,是Linux程
2025-07-23 18:08:21
682
4
原创 CMake进阶:检查头文件存在性(check_include_file 和 check_include_fileCXX)
CMake的check_include_file宏用于检查系统是否存在指定头文件,常用于跨平台开发中判断功能支持情况。该宏通过生成临时测试代码并尝试编译来验证头文件是否存在,结果存入指定变量(1/0)。使用时需先include(CheckIncludeFile)加载模块,可检查C/C++头文件(需用LANGUAGE指定语言),并通过FLAGS添加包含路径。对于C++头文件,推荐使用专门的CheckIncludeFileCXX模块。注意事项包括:处理非标准路径、跨平台路径差异、头文件依赖等问题。相关功能还有c
2025-07-23 16:45:47
954
1
原创 CMake实践:CMake3.30版本之前和之后链接boost的方式差异
本文介绍了CMake 3.30版本前后链接Boost库的主要差异及迁移方法。从Boost 1.70版本开始提供了CMake配置文件(BoostConfig.cmake),支持现代CMake的目标链接方式。CMake 3.30彻底移除了旧的FindBoost模块,强制使用Boost自带的配置文件,通过Boost::xxx目标链接库。文章详细阐述了新旧版本的配置方式、迁移步骤及常见问题解决方案,建议开发者直接使用Boost::system等目标进行链接,确保Boost版本在1.70以上,并注意静态/动态库的链接
2025-07-22 22:25:12
1368
1
原创 pugiXML:一个轻量级、高性能的 C++ XML 解析库
PugiXML是一个轻量级、高性能的C++ XML解析库,具有快速解析、低内存占用和跨平台支持等特点。它支持DOM和SAX两种解析模式,提供类似jQuery的节点选择器,并可通过XPath进行查询。PugiXML采用单文件实现,无第三方依赖,适合嵌入式系统和游戏开发等场景。使用时需包含头文件并配置编译器支持C++11,可禁用STL以适应嵌入式环境。虽然XPath支持有限且不支持XML命名空间,但其简洁API和高效性能使其成为轻量级XML处理的理想选择。
2025-07-19 11:37:43
835
2
原创 CMake指令:常见内置命令行工具( CMake -E )
CMake命令行工具cmake -E提供了一套跨平台的文件操作和系统命令执行功能,可替代传统的shell命令,确保在Windows/Linux/macOS上行为一致。主要用途包括:1)跨平台文件操作(复制、删除、创建目录等);2)安全执行外部程序;3)文件校验(MD5/SHA256);4)流程控制(暂停、计时);5)路径处理和归档压缩。该工具特别适用于CMake脚本和自动化构建流程,能显著简化跨平台开发的复杂度,如统一cp/copy等命令差异,支持递归目录操作和环境变量管理。
2025-07-18 22:23:31
612
2
原创 CMake指令:install命令详解
CMake的install命令用于定义项目构建完成后如何安装目标文件(如可执行程序、库文件)、头文件、配置文件等到指定位置。该命令不会在构建阶段执行,而是在用户显式调用cmake --install时生效。核心功能包括:指定各类文件的安装路径(通过TARGETS、FILES、DIRECTORY等子命令),设置文件权限,支持多配置安装(Debug/Release),以及生成卸载脚本。安装路径通常基于CMAKE_INSTALL_PREFIX变量,CMake还提供了一系列标准路径变量(如BINDIR、LIBDIR
2025-07-18 21:29:18
1305
原创 CMake基础:覆盖项目开发的五大配套工具
CMake提供了五大核心工具:cmake(核心命令行配置工具)、ccmake(终端交互式配置工具)、cmake-gui(图形化配置界面)、ctest(测试执行工具)和cpack(打包分发工具)。这些工具覆盖了从项目配置(支持命令行、终端和GUI三种方式)、编译构建到测试验证和软件打包的全流程。其中cmake是基础引擎,ccmake/cmake-gui提供可视化配置选项,ctest支持自动化测试,cpack可生成多种格式的安装包。这些工具共同构成了CMake项目的完整开发生态链,支持跨平台开发的需求。Wind
2025-07-15 22:41:33
1046
1
原创 Qt .pro中的.pri详解(四)
本文介绍了Qt项目中.pro和.pri文件的作用与使用方法。.pro文件是项目主配置文件,而.pri是私有包含文件,用于模块化配置管理。文章详细说明.pri文件的基本语法、作用及与.pro文件的协作关系,包括变量作用域规则、跨平台开发应用等典型场景。通过分层配置策略和模块化设计,.pri文件能有效提高项目可维护性和代码复用率,实现跨平台支持和构建效率优化。
2025-07-15 21:40:00
748
原创 C++: TypeList(编译期的类型列表)
C++中的TypeList是一种编译期类型数据结构,用于模板元编程中的类型集合操作。摘要如下: 基本概念 TypeList是编译期类型容器,仅存储类型信息而不占用运行时内存 通过模板类实现,如template<typename...Ts> struct TypeList{}; 核心操作 访问:获取类型列表长度、索引特定位置类型 查询:检查类型包含、查找类型索引 修改:追加/删除类型、类型映射转换 组合:连接类型列表、分割列表 典型应用 生成访问者模式实现 工厂模式类型管理 序列化框架开发 类型安
2025-07-13 09:49:32
1040
3
原创 hiredis: 一个轻量级、高性能的 C 语言 Redis 客户端库
hiredis是一个轻量级、高性能的C语言Redis客户端库,支持同步/异步操作、管道和事务。主要特性包括:1)轻量无外部依赖;2)高性能非阻塞I/O;3)完整Redis协议支持;4)线程安全。支持源码编译和包管理器安装,提供连接管理、命令执行等核心API,需注意内存管理和线程安全。适用于缓存系统、实时统计、消息队列等场景。典型用法包括同步命令执行、管道批处理和异步事件驱动操作。使用后需释放回复对象,多线程环境需独立连接或连接池。
2025-07-12 17:21:58
1173
3
原创 C++实践:delete释放void*的问题分析
这篇技术文章分析了C++中一个常见的void指针内存释放函数存在的三个严重问题:1)通过void删除对象导致类型信息丢失,无法调用正确析构函数;2)指针按值传递导致置空无效;3)可能混用delete和delete[]。文章提出了多种改进方案:使用模板保留类型信息、通过引用参数置空指针、区分单个对象和数组释放,并推荐优先使用智能指针实现自动内存管理。此外,还探讨了保留类型信息释放void*指针的5种解决方案,包括回调注册表、包装器、类型标签、虚析构函数和智能指针,比较了各自的优缺点。最终建议遵循RAII原则优
2025-07-12 12:48:34
914
原创 CMake指令:add_custom_command和add_custom_target详解
CMake中的add_custom_command和add_custom_target命令解析: add_custom_command用于定义构建阶段的自定义操作,主要分为两种模式: 生成文件模式(通过OUTPUT指定输出文件),需其他目标依赖该文件才会触发执行; 目标关联模式(通过TARGET),可在目标构建前后执行命令(如POST_BUILD用于编译后操作)。 add_custom_target则创建可直接执行的伪目标,特点包括: 可通过make命令直接调用; 支持ALL选项加入默认构建流程; 常与ad
2025-07-10 21:54:43
1220
3
原创 CMake实践:常见的调试技巧
CMake调试指南总结了多种有效调试方法。1.使用message()命令输出关键信息,推荐STATUS模式保持风格统一;2.通过cmake -L查看缓存变量或删除CMakeCache.txt解决缓存问题;3.利用--trace/--debug-output跟踪执行流程;4.设置CMAKE_FIND_DEBUG_MODE调试依赖查找;5.检查CMakeOutput/Error.log分析编译测试结果。其他技巧包括:验证条件判断、使用VERBOSE输出编译命令、逐步注释代码定位问题等。核心思路是通过变
2025-07-08 11:04:57
993
原创 CMake基础:条件判断详解
CMake条件判断机制详解:通过if/else结构实现灵活构建控制,支持变量检查、数值/字符串比较、文件/路径判断、系统检测等多元条件评估。典型应用包括构建类型配置、功能开关控制、依赖检查等场景。使用时需注意变量引用无需${}、空变量自动判假、字符串区分大小写等细节,推荐使用绝对路径和括号分组确保逻辑准确性。该机制为CMake构建系统提供了动态决策能力,是项目配置管理的核心功能。
2025-07-05 22:08:47
848
2
原创 C++反射之获取可调用对象的详细信息
本文系统介绍了C++中的可调用对象及其类型信息提取技术。主要内容包括:1)可调用对象分类(函数指针、成员函数指针、仿函数、lambda等);2)通过模板元编程实现FunctionTraits来提取函数签名信息(返回值类型、参数类型等);3)应用场景分析(函数包装器、信号槽机制、反射等);4)C++17/20新特性(is_invocable、concepts)的应用。文章详细讲解了利用模板特化和SFINAE技术实现类型特征萃取的方法,并提供了完整的代码示例,对理解C++泛型编程和元编程具有重要参考价值。
2025-07-03 22:45:24
764
4
原创 银河麒麟系统上利用WPS的SDK进行WORD的二次开发
本文介绍了在Linux系统下安装WPS Office并进行二次开发的方法。首先从官网下载.deb安装包,使用dpkg和apt工具安装,并处理可能的依赖问题。接着获取WPS二次开发示例代码,用Qt Creator编译运行。文章重点展示了四个关键功能代码:初始化WPS应用程序、新建文档、插入表格和另存为文档的操作实现,提供了完整的API调用示例。最后给出了WPS开放平台和相关开发资源的参考链接,为开发者提供了完整的WPS Linux版二次开发解决方案。
2025-06-30 22:22:53
1150
12
原创 CMake指令:目标属性相关指令(target_xxx)
本文系统介绍了CMake构建系统中常用的目标设置指令及其应用场景。主要内容包括: 二进制目标构建:通过add_executable和add_library创建可执行文件和库文件目标。 目标链接设置:详解target_link_libraries指令的PRIVATE/PUBLIC/INTERFACE三种链接模式及其区别,特别强调链接顺序的重要性。 编译选项配置:包括宏定义设置(add_compile_definitions)、编译参数(add_compile_options)及其目标级版本(target_co
2025-06-29 20:03:48
1130
5
原创 银河麒麟系统GCC5.4.0升级到GCC9.3.0指南
本文详细介绍了在银河麒麟服务器V4系统上从gcc5.4.0升级到gcc9.3.0的完整过程,以满足minidocx开源库对C++20的支持需求。主要内容包括:环境准备(下载gcc9.3.0源码及依赖库)、配置编译选项、编译安装(约1.5小时)、系统gcc版本替换、版本验证等关键步骤。同时提供了常见问题解决方案,如磁盘空间不足、权限问题、动态库路径错误等。通过设置环境变量和软链接,最终实现gcc9.3.0的成功安装,并保留原gcc5.4.0版本。该指南对在国产操作系统上进行编译器升级具有重要参考价值。
2025-06-29 13:27:48
1079
1
浮点数与十六进制转换工具
2024-01-22
C++设计模式例程,工厂模式例子
2024-01-15
高质量 C++编程指南,编程的好书籍
2023-12-26
C++模板函数重载规则详解
2023-12-26
sscom 串口调试工具
2023-12-20
NetAssist 网络调试工具
2023-12-20
基于C++CORBA高级编程
2023-12-13
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人