自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

萧邯编程笔记

开了几个专栏,结合工作中所用到的,针对物联网领域中嵌入式开发和音视频开发,做一下记录总结和分享,倘若您能从我个人记录总结中有所思有所得,那不胜欢喜,倘若有纰漏不足之处,还望不吝赐教

  • 博客(42)
  • 资源 (1)
  • 收藏
  • 关注

原创 嵌入式进阶关键一步:日志打印,是新手与高手的分水岭

能否打印好日志,是判断嵌入式工程师新手和高手的关键标志之一。这不是瞎说,也不是危言耸听。当然,通过代码判断新手和高手的标志有很多,这只是其中一个。打印日志这个看似很基础的功能,很多嵌入式工程师以为很简单,不就是使用个printf嘛,有什么难的,甚至不放在心上,其实很多嵌入式工程师工作多年依然打印不好日志。这确实是嵌入式领域一个普遍且“痛点”十足的问题。“打印好日志”绝对不是一个微不足道的技能点,也远不止于单单使用printf,它是一项融合了技术深度、工程思维、团队协作和产品意识的综合能力。

2025-11-10 09:39:48 785

原创 UDP联调总丢包?丢包真不一定是网络的锅!

摘要: 本文深入解析UDP数据包的理论最大值(65507字节)与现实中1472字节安全限制的差异,揭示IP分片机制是导致UDP丢包的关键原因。通过对比IPv4/IPv6的头部设计,说明MTU(如以太网1500字节)如何限制实际传输,并分析分片带来的重组失败、性能损耗等问题。提出三大解决方案:应用层控制包大小(推荐≤1472字节)、设置socket选项禁止分片、利用Wireshark快速诊断,并附代码示例。最后总结不同场景下的安全包大小建议,帮助开发者规避UDP传输陷阱。 关键词: UDP丢包、IP分片、MT

2025-11-07 10:47:08 858

原创 Makefile从入门到精通(一) --- 不懂Makefile,你的C/C++功底永远差一截

Makefile从入门到精通(一) --- 不懂Makefile,你的C/C++功底永远差一截

2025-10-30 10:18:34 440

原创 排序算法还在手写?万能排序神器qsort函数,搞定90%笔试面试!

排序算法还在手写?万能排序神器qsort函数,搞定90%笔试面试!

2025-10-22 10:07:50 884

原创 不懂 void *,也敢说是C/C++高手?

摘要 本文深入探讨了C/C++中的void*指针,强调其在内存管理、泛型编程和系统开发中的核心作用。void*作为无类型指针,可指向任意数据类型,但需显式类型转换才能解引用或运算。文章详细解析了void*的特点(无类型性、安全性限制)、典型用途(泛型函数/数据结构、内存操作、跨类型传递)及使用规范(赋值转换、解引用前提、运算限制),并对比了C与C++的差异。通过停车场等类比,帮助读者理解这一“万能容器”的灵活性与潜在风险,适合嵌入式开发者及系统程序员深入学习。 关键词:void*、通用指针、类型转换、内存管

2025-10-18 16:27:33 997

原创 【MQTT】MQTT入门与进阶系列(三)—— 五分钟彻底搞懂QoS 0、1、2的本质与选型

【MQTT】MQTT入门与进阶系列(三)—— 五分钟彻底搞懂QoS 0、1、2的本质与选型

2025-10-15 09:00:00 682

原创 【MQTT】MQTT入门与进阶系列(二)—— MQTT主题与通配符

MQTT主题与通配符使用指南 本文详细介绍了MQTT协议中的主题结构和通配符使用规则。主题采用斜杠分隔的层级结构,支持单层通配符(+)和多层通配符(#),但通配符仅可用于订阅。系统主题以$SYS/开头,用于监控代理状态。文章提供了主题设计的核心建议:保持2-5层清晰结构、使用小写字母和下划线命名、控制主题长度和数量、区分系统与业务主题等。同时强调了避免动态ID、前导斜杠等常见错误。通过合理使用主题和通配符,可以优化MQTT系统的性能和可维护性。

2025-10-08 16:05:41 1048

原创 【音视频】--- 嵌入式开发必知必会:核心多媒体协议指南

嵌入式多媒体协议精要 编解码协议: 视频:H.264(主流)、H.265(高效)、AV1(开源)、MJPEG(简单) 音频:AAC(主流)、G.711(传统电话)、OPUS(低延迟) 传输控制协议: 基础传输:RTP/RTCP(实时传输)、RTSP(流控制) 应用协议:RTMP(直播推流)、WebRTC(网页实时通信) 行业标准:ONVIF(安防设备互通)、SRT(可靠传输) 流媒体方案:HLS(HTTP切片)、SIP(会话控制) 应用特点: 各协议在延迟、可靠性、兼容性方面形成互补,嵌入式开发需根据具体场

2025-09-30 15:48:51 765

原创 【Linux】线程同步: 机制、选择与陷阱(保姆级详解)

【Linux】线程同步: 机制、选择与陷阱(保姆级详解)

2025-09-16 14:35:21 1012

原创 【Linux】进程间通信方式详解及选型对比,一篇就够了!

进程间通信方式详解及选型对比,一篇就够了!

2025-09-13 09:00:00 1148

原创 【Linux】一文看懂linux线程:从原理到实践

【Linux】一文看懂linux线程:从原理到实践

2025-09-10 08:30:00 1027

原创 【Linux】一文看懂linux进程(保姆级详解)

【Linux】一文看懂linux进程(保姆级详解)

2025-09-05 12:29:40 1122

原创 【数据结构 | 基础入门篇】--- 数据结构入门​:一文讲透数据结构核心概念

【数据结构 | 基础入门篇】--- 数据结构入门​:一文讲透数据结构核心概念

2025-09-01 09:00:00 1040

原创 【MQTT】MQTT入门与进阶系列(一)—— MQTT 基础知识介绍和示例

本篇文章主要介绍MQTT入门基础知识,什么是MQTT、MQTT的特点、MQTT客户端、MQTT Broker、发布-订阅模式、主题、QoS,以及通过一个示例,进行订阅和发布消息,让读者对MQTT的工作原理和工作流程有个直观的了解和感受。就像一盘菜,学习如何炒这盘菜之前,咱们先知道这盘菜的原料,尝尝这盘菜的味道。

2024-10-18 14:16:29 3965

原创 【架构设计】各地编程大师奉为圭臬的软件设计原则 —— KISS原则

最近阅读了一本书《UNIX编程艺术》,主要介绍了Unix系统领域中的设计和开发哲学、思想文化体系、原则与经验,由公认的Unix编程大师、开源运动领袖人物之一Eric S.Raymond倾力多年写作而成。在有异常输入的情况下,保证软件健壮性的一个相当重要的策略就是避免在代码中出现特例。如果我们在整个软件开发中很严格遵循这条原则的话,大多数的应用场合都应该使用高一级的语言,如Perl、Tcl、Python、Java等等,这些语言可以将程序员从自行管理内存的负担中解放出来。“大”有两种含义:体积大,复杂程度高。

2024-09-24 17:44:57 978

原创 【Git】git 从入门到实战系列(四)—— 工作区、暂存区以及版本库 .git 详解

上篇文章【Git】git 从入门到实战系列(三)——创建版本库我们总结了如何创建版本库,以及如何提交本地代码。本文我们总结工作区、暂存区以及对版本库 .git 文件夹里的内容进行详细介绍。了解工作区、暂存区和 .git 文件夹里的内容,能更透彻的理解 git 的机制,对该专栏后面的内容可以起到辅助的作用。知其然,更要知其所以然,理解的透彻,才能用的更好。如有疑问或建议,可在评论区交流沟通或添加作者微信沟通交流。作者微信 “_PiaoYaoXiaoWei_”,微信名"骠姚校尉"。

2024-09-05 15:49:27 1007 1

原创 【Linux】一文搞懂 Linux 内核链表(保姆级详解)

【Linux】一文搞懂 Linux 内核链表(保姆级详解)

2024-09-02 16:32:29 2021

原创 【嵌入式】指针与整数的桥梁、跨平台编程的黄金钥匙:揭开 uintptr_t 和 intptr_t 的神秘面纱

指针与整数的桥梁、跨平台编程的黄金钥匙:揭开 uintptr_t 和 intptr_t 的神秘面纱

2024-08-14 09:11:26 1997

原创 【wifi】-- 嵌入式开发中wifi性能参数Link Quality、Signal level和Noise level

在嵌入式开发中,尤其是物联网的产品,经常用到wifi模块,4G模块等,本文我们针对wifi通信质量的几个参数做一下总结。在使用wifi通信过程中,经常会碰到弱网或丢包等问题,需要通过参数查看wifi性能指标,如下图:上图中Signal level、Link Quality和Noise level这三个参数如何表示wifi通信质量的好坏呢?什么样的情况下表示丢包率较高,通信质量较差,什么样的情况下表示通信质量较好呢?

2024-08-08 09:23:36 2052

原创 【Git】git 从入门到实战系列(三)—— 创建版本库,添加提交文件至版本库

版本库又名仓库(Repository),可以简单理解成一个文件夹,这个文件夹里面的所有文件都可以被Git管理起来,每个文件的修改、删除,Git都能跟踪,以便任何时刻都可以追踪历史,或者在将来某个时刻可以“还原”。初始化仓库:git init添加文件到Git仓库,分两步:文件添加到仓库:git add ,注意,可反复多次使用,添加多个文件提交文件到仓库:git commit -m “description”查看提交记录:git log。

2024-08-07 10:14:19 1219

原创 【架构设计】软件设计原则中的7种耦合和内聚(详解)

耦合(Coupling)和内聚(Cohesion)是衡量软件模块设计质量的两个非常重要的概念。高内聚、低耦合是我们在软件设计过程中必须遵循的一个重要原则,在整个软件工程中占有很大的比重。而对于内聚和耦合你是否还是仅仅局限于“高内聚,低耦合”的模糊概念吗?如何判断何为高低呢?本篇文章将带你分别深度剖析和总结内聚与耦合的 7 种类型和描述,为在以后的项目软件开发中助你一臂之力!内聚指的是模块的内部关系,是一个模块内部各成分之间相关联程度的度量,即模块内部各元素之间联系的紧密程度。

2024-08-06 14:18:55 1610

原创 【Git】git 从入门到实战系列(二)—— Git 介绍以及安装方法

本系列上一篇文章【Git】git 从入门到实战系列(一)—— Git 的诞生,Linus 如何在 14 天内编写出 Git?我们讲述了 git 诞生的过程。此篇我们对 git 的特点进行总结,以及总结 git 的安装方法。该系列浅显易懂,有理论,有实例,实用性超强,读者可以边学边练,不枯燥,易上手,读完该系列你可以通过 git 轻松地完成你的工作。该系列不会让你成为git专家,但用于工作已绰绰有余。

2024-08-02 09:21:59 1122

原创 【Git】git 从入门到实战系列(一)—— Git 的诞生,Linus 如何在 14 天内编写出 Git?

尽管这人看上去毫不起眼,比如Linus曾在他的自传《乐者为王》(Just for Fun)中自嘲:“我是一个长相丑陋的孩子,凡是见过我小时候照片的人,都会觉得我的相貌酷似河狸。后来,Linus对BitKeeper表示了极大的赞赏,认为BitKeeper改变了他的看法,而Git的灵感也来源于此。”牛B是怎么定义的呢?Git迅速成为最流行的分布式版本控制系统,尤其是2008年,GitHub网站上线了,它为开源项目免费提供Git存储,无数开源项目开始迁移至GitHub,包括jQuery,PHP,Ruby等等。

2024-07-31 11:30:28 1261

原创 【H.264】H.264详解(二)—— H264视频码流解析示例源码

示例源码是一个H.264码流解析程序。该程序可以从H.264码流中分析得到它的基本单元NALU,分离出NALU,然后再分析NALU的各个字段。关于NALU的相关内容可参考文章【H.264】H.264详解(一)—— 一文看懂H.264协议。

2024-07-24 14:34:26 1362 4

原创 【MP4】mp4文件详解(二)—— mp4文件分析工具

MP4文件分析工具可以帮助你查看和分析MP4视频文件中的各种数据,比如元数据、编码信息、帧结构等。

2024-07-24 14:33:01 3058

原创 【MP4】mp4文件详解(一)—— 一文看懂mp4文件格式

本系列系统总结MP4文件格式,从格式详解、MP4分析工具、MP4开源库解析等几篇文章来进行系统性总结和梳理。如有错漏,敬请指出,欢迎随时交流。MP4官方文档:mp4文件格式又被称为MPEG-4 Part 14,出自MPEG-4标准第14部分。它是一种多媒体格式容器,广泛用于包装视频和音频数据流、海报、字幕等。(顺便一提,目前流行的视频编码格式AVC/H264定义在MPEG-4 Part 10)。MP4是最常见的封装格式之一,因为其跨平台的特性而得到广泛应用。

2024-07-18 09:48:44 16001 3

原创 【Linux】一文看懂Linux静态库和动态库

静态库和动态库在Linux系统编程中各有优劣。静态库简单易管理,但消耗更多的磁盘空间和内存,适用于不频繁更新的库。动态库节省资源,适用于共享库更新频繁的场景,但需要注意库版本兼容性问题。

2024-07-10 10:55:23 2092

原创 【嵌入式 | 数据校验】BCC校验(异或校验)

BCC (Block Check Character)是一种数据校验方法,通常用于检测和校验数据传输中的错误。其核心是将一个数据块里的所有字节按位异或(XOR),从而生成一个检验字符。若这个检验字符与实际计算得到的不符,就表示数据传输中可能发生了错误。因检验字符是将所有字节异或得出,故也称为异或校验。什么是异或运算?异或运算(XOR)是一种基本的逻辑运算,它对二进制位进行操作。其基本规则是如果两个二进制位不同,结果为1。如果两个二进制位相同,结果为0,简单总结:同为0,异为1。AB。

2024-07-10 10:54:28 4998

原创 【H.264】H.264详解(一)—— 一文看懂H.264协议

H.264,是一种视频压缩编码标准 ,同时也是MPEG-4第10部分规范(ISO/IEC 14496-10),MPEG-4 Part 10,⼜叫Advanced Video Codec(高级视频编码),因此H.264常常称为MPEG-4 AVC或直接叫AVC。所以在H.264的参数中可以看到 AVC == H264,而 HECV == H265。H.264已经成为高精度视频录制、压缩和发布的最常用格式之一。常见的写法H264,标准写法应该是H.264。

2024-07-01 09:35:53 9152 17

原创 【嵌入式】嵌入式Linux必读经典书籍(附书籍封面图)

嵌入式linux必读经典书籍。文章目录1、编程语言2、数据结构与算法3、ARM体系与架构4、操作系统5、计算机组成原理6、计算机网络7、Linux应用8、linux驱动9、linux内核

2024-07-01 09:34:23 1218

原创 【Linux】Linux系统错误码errno详解

在嵌入式Linux开发中,使用errno进行错误处理是非常常见和必要的。嵌入式系统通常需要处理各种硬件和软件的交互,错误处理和调试是确保系统稳定性和可靠性的关键部分。errno在嵌入式Linux开发中是一个重要的工具,通过合理使用errno,可以有效地捕获和处理各种错误情况,确保系统的稳定性和可靠性。在Linux系统中,errno是一个全局变量,用于表示最近一次系统调用或库函数调用出错时的错误码。每个错误码对应一个特定的错误类型。了解这些错误码有助于调试和处理错误情况。

2024-06-26 09:39:42 3716

原创 【C语言】函数strerror和perror详解

strerror函数和perror函数是C标准库中的两个函数,用于处理和显示错误信息。它们帮助程序员在程序运行过程中了解并诊断错误原因。

2024-06-26 09:36:36 1073

原创 【C语言 | 嵌入式】大端序和小端序详解

字节序字节序,又称端序,英文Endiannnes。字节序,简单点说,就是字节的存储顺序。数据都是单字节,那么不存在字节的存储顺序,对于多字节的数据,就要考虑字节的存储顺序了。典型的情况是int、double等在内存中的存放方式和网络传输的传输顺序。字节序跟硬件的体系结构有关,和编程语言以及操作系统无关,例如在x86系列的pc上的solaris系统是小端序,sunsparc平台的solaris是大端序。大端序(Big-endian)大端字节序,高字节存于内存低地址,低字节存于内存高地址。小端序

2024-06-18 14:15:14 5116

原创 【音视频】音频相关概念详解

嵌入式音视频开发过程中涉及到的音视频相关概念有很多,本文对音频一些常见的术语和概念进行详细的介绍和总结。1、采样率(Sampling rate)2、位深度(Bit depth)3、比特率(Bit rate)4、声道(Audio channel)5、音频帧6、音频编码7、音频解码

2024-06-07 11:51:37 2953

原创 【网络协议 | HTTP】HTTP总结与全梳理(一) —— HTTP协议超详细教程

嵌入式开发工作中我们常用到一些网络协议,本章我们总结http协议,后续文章我们会陆续总结https等网络协议。在总结http协议之前,我们先熟悉一下什么是超文本。超文本的概念最早由Ted Nelson在1960年代提出,并在1990年代因万维网(World Wide Web)的发展而广为人知。超文本(Hypertext)是一种通过HTML(超文本标记语言)组织和呈现信息的方式。允许读者通过点击或选择文本中的链接来跳转到相关的信息或内容,这种链接通常称为“超链接”(Hyperlinks)。

2024-06-04 14:24:20 4035

原创 【Linux C】目录相关的操作函数 mkdir、rmdir、opendir、readdir、closedir、getcwd、chdir

本文介绍Linux下目录操作相关的一些函数。mkdir、rmdir、opendir、readdir、closedir、getcwd、chdir。我们将从函数原型、头文件、函数作用、参数含义、返回值以及示例代码几个方面进行总结。

2024-05-16 09:04:59 2587

原创 【YUV】YUV图像详解(二)—— YUV图像解析代码示例

一、YUV图像查看工具1、YUV Eye2、7yuv二、代码示例1、分离420p2、分离422p3、分离444p

2024-04-25 09:37:44 2493

原创 【YUV】YUV图像详解(一)—— 一文看懂YUV格式

视频采集芯片输出的码流一般都是 YUV 格式数据流,后续视频处理也是对 YUV 数据流进行编码和解析。所以,了解 YUV 数据流对做视频领域的人而言,至关重要。下面我们对YUV进行一下总结。YUV 编码采用了明亮度和色度表示每个像素的颜色。其中 Y 表示明亮度(Luminance、Luma),也就是灰阶值。U、V 表示色度(Chrominance 或 Chroma),描述的是色调和饱和度。YCbCr 其实是 YUV 经过缩放和偏移的翻版。

2024-04-17 09:54:55 6140 1

原创 【CMake】CMake从入门到实战系列(二)——实例入手,讲解CMake的基本流程

在 linux 平台下使用 CMake 的基本流程如下:1、编写 CMake 配置文件 CMakeLists.txt。2、执行命令 cmake PATH。其中,PATH 是 CMakeLists.txt所在的目录。3、使用 make 命令进行编译。针对上面的流程,初步接触CMake的读者可能还是不太清楚明了,那么接下来,我们通过实例开始总结CMake的基本流程。

2024-03-25 18:59:10 2572

原创 【CMake】CMake从入门到实战系列(一)——CMake介绍以及安装方法

CMake从入门到实战系列(一)——CMake介绍以及安装方法

2024-03-22 19:43:27 4253

知识领域: 智能车竞赛/嵌入式系统 技术关键词: 飞思卡尔单片机、电机控制、传感器应用 内容关键词: 车模搭建、路径识别算法、调试技巧 用途: 指导智能车设计与竞赛备赛

内容概要: 车体搭建、传感器调试、控制算法 适用人群: 智能车竞赛选手、嵌入式学习者 使用场景及目标: 参赛训练/实现自主循迹功能 其他说明: 含硬件组装与代码实战

2025-08-18

知识领域: 嵌入式系统开发 技术关键词: STM32单片机、ARM Cortex-M、C语言 内容关键词: 外设驱动(GPIO/USART等)、开发环境(MDK/Keil)、项目实战 用途: 快速掌握

内容概要: STM32基础、外设驱动、开发工具 适用人群: 嵌入式初学者、电子工程师 使用场景及目标: 学习单片机开发,完成项目实战 其他说明: 侧重实践,含代码案例

2025-08-18

《Essential C++》中文版PDF + 源代码是一套高效、精炼、实践性强的C++核心学习资源 它特别适合希望快速掌握C++精髓并通过配套代码动手实践的学习者,是C++入门和核心概念学习的经典之

该资源是理论精简+实践导向型组合:中文版提供高效知识摄取路径,规避大部头压力;模块化示例加速从理解到落地的转化。特别适合需快速建立C++知识骨架并动手验证的场景,规避"纸上谈兵"风险。进阶学习需补充现代C++资料。

2025-08-18

MATLAB编程基础:从入门语法到数据可视化实战指南

内容概要: 紧扣标题中的“编程基础”和“从入门语法到数据可视化”,清晰列出了涵盖的核心知识点(环境、语法、数据类型、流程控制、M文件、可视化),并强调了“实战”(实例、练习、案例)。 适用人群: 明确指向零基础或需要打基础的理工科用户(学生、科研、工程),并说明其为后续学习打基础的作用。 使用场景及目标: 列出了典型的学习和应用场景(课程、科研、工程、自学),并设定了明确的、可衡量的学习目标(掌握语法、精通可视化、建立思维、学练结合、奠定基础),这些目标直接服务于标题中的“实战指南”。 其他说明: 进一步突出了教程的特色(实战、重点突出、循序渐进、门槛低),并暗示了可能的附加价值(配套资源)。这增强了资源的吸引力和实用性。

2025-08-13

CMake从入门到实战系列(四)-CMake链接静态库和动态库

一、编译链接静态库 1、同一个目录 2、多个目录 二、编译链接动态库 1、同一个目录 2、多个目录 三、链接第三方库 1、标准库(数学库m) 2、系统库(OpenSSL加密库) 3、第三方库(打印一只猫)

2024-04-01

H.264详解(二)- H264视频码流解析示例源码

示例源码是一个H.264码流解析程序。该程序可以从H.264码流中分析得到它的基本单元NALU,分离出NALU,然后再分析NALU的各个字段。

2024-07-23

CMake从入门到实战系列(二)-实例入手,讲解CMake的基本流程

上一篇文章,我们对什么是CMake、CMake和Makefile优缺点、CMake安装方法进行了总结,本篇文章则开始对CMake的使用流程进行总结,以实例demo入手,以便读者阅读后能快速的上手去操作和运用。

2024-03-26

ISO-IEC-14496-14-2003 & ISO-IEC-14496-14-2020

MP4文件格式官方文档 ISO_IEC_14496-14-2003 & ISO_IEC_14496-14-2020

2024-07-17

MP4文件,用于研究学习mp4文件格式用

用于研究学习mp4文件格式用

2024-07-19

CMakeCMake从入门到实战系列(十五)- CMake中添加编译选项的几种方法的完整源码

【CMake】CMake从入门到实战系列(十五)—— CMake中添加编译选项的几种方法的完整源码

2024-06-04

资料-百万字音视频流媒体开发技术文章整理分享

资料-百万字音视频流媒体开发技术文章整理分享

2024-05-10

CMake从入门到实战系列(十二)-CMake中如何执行shell命令(1)

在CMake中执行shell命令主要涉及三个指令:execute_process、add_custom_command、add_custom_target。我们将分别对每个指令做一下总结,并用示例代码加深理解。 本章对指令execute_process进行一下总结,下一篇文章对add_custom_command和add_custom_target进行总结。

2024-05-06

7yuv yuv图像查看工具

7yuv yuv图像查看工具

2024-04-23

YUV Eye 3.0.0

YUV Eye,免费好用的 YUV 图像分析软件。你可以用他来查看 YUV 图像数据,验证数据准确性,对比原始图像质量,查看图像直方图等操作。

2024-04-23

CMake从入门到实战系列(九)-CMake中的字符串处理指令和运算符

CMake从入门到实战系列(九)——CMake中的字符串处理指令和运算符

2024-04-12

CMake从入门到实战系列(八)-CMake中的算数运算符,比较运算符和逻辑运算符

CMake 是一个跨平台的自动化构建系统,它主要用于管理软件构建的过程,并且具有一整套自己特定的脚本语言。CMake 脚本中包含了一些基本的运算符,可以用于变量的运算、比较和逻辑判断等。

2024-04-10

CMake从入门到实战系列(六)-CMake自定义编译选项

前言 一、目录结构 二、步骤详解 1、编写源代码 2、配置CMakeLists.txt 3、构建项目 不使用FEATURE_X特性构建项目 启用FEATURE_X特性构建项目 三、解析 CMake 允许为项目增加编译选项,从而可以根据用户的环境和需求选择最合适的编译方案,即用户定义自定义编译选项,这样用户可以在编译时选择是否开启某项特性。 下面实例入手总结CMake的自定义编译选项:   考虑一个简单的C语言项目,我们想让用户决定是否启用一个名为FEATURE_X的自定义特性。如果启用,我们将编译带有特殊行为的代码;如果不启用,我们将编译默认行为的代码。 ———————————————— 版权声明:本文为博主原创文章,遵循 CC 4.0 BY 版权协议,转载请附上原文出处链接和本声明。 原文链接:https://blog.youkuaiyun.com/jidushanbojueA/article/details/137508219

2024-04-08

空空如也

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

TA关注的人

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