自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(81)
  • 资源 (1)
  • 收藏
  • 关注

原创 make_01_Program_10_一个makefile文件引用另一个makefile文件,两个文件中的目标 all会有影响不

当使用include引入多个 Makefile 时,最后一个定义的同名目标将被使用,之前的定义将被忽略。为避免目标冲突,可以为每个 Makefile 中的目标使用不同的名称,或设计出统一的目标结构来协同工作。

2025-04-05 11:50:34 290

原创 make_01_Program_09_一个makefile 文件中,有多个.PHONY目标定义时,先执行哪个目标

在 Makefile 中,目标的执行顺序通常由默认目标和依赖关系决定。您可以通过自定义目标之间的依赖关系以及指定的调用方式,控制目标执行的顺序。如果只有.PHONY定义而没有依赖关系,则所有.PHONY目标不会自动执行,除非通过特定命令调用。

2025-04-05 11:46:17 288

原创 make_01_Program_08_makefile 一个文件是不是可以有多个.PHONY目标

在 Makefile 中,您可以根据需要定义多个.PHONY目标。这样可以确保每次运行make来调用这些目标时,他们的命令都会被执行,而不受文件状态的影响。这增加了 Makefile 的灵活性和可用性。

2025-04-05 11:43:49 222

原创 make_01_Program_07_$@ $^ 是什么含义

@:自动变量,代表当前规则的目标文件名。$^:自动变量,代表所有的依赖文件名(不重复)。这两个自动变量极大地方便了 Makefile 的编写,使得在构建过程中自动化和灵活性得以增强,避免了手动指定目标和依赖的重复工作。

2025-04-05 11:37:57 149

原创 make_01_Program_06_makefile 如何定义变量

基本赋值最基本的变量定义方式是使用等号CC = gcc这里,CC变量定义了用于编译的 C 编译器,CFLAGS变量定义了编译选项。立即赋值使用:=使用:=时,变量的值会被立即计算并存储,而不是在后续的使用中再进行计算。递归赋值使用在这个例子中,SRC的值在OBJ被使用时才会被求值。附加值使用+=在这个例子中,-O2被追加到已有的CFLAGS中。在 Makefile 中,定义和使用变量非常简单,通过使用标准的赋值语法,您可以轻松地维护和管理大型项目的构建系统。

2025-04-05 11:35:54 158

原创 make_01_Program_06_:: 是什么功能

用法的灵活性允许您为同一个目标添加多个命令(多重规则),使得 Makefile 更加灵活。独立的依赖关系:可以让同一个目标与不同的依赖关系独立存在。适用于需要同时执行多条命令的场景:在清理、构建复杂项目或需要执行多种操作的场合特别有用。使用可以帮助您创建更强大和灵活的编译规则,以满足各类复杂的构建需求。

2025-04-05 11:29:54 154

原创 make_01_Program_05_wildcard 什么功能

函数是 Makefile 中一个重要的工具,能够帮助开发者动态获取文件列表并根据这些文件的存在性来控制构建流程。通过使用wildcard,可以使得 Makefile 更加灵活,减少手动更新文件列表的需要,提高自动化程度。

2025-04-05 11:26:48 130

原创 repo_01_repo info是什么功能

repo info是一个实用的命令,可以帮助开发人员更好地理解和管理他们的repo项目。它提供了有关子仓库和项目状态的综合视图,使得在处理大型项目时能够更加高效地进行操作。

2025-04-05 11:22:52 122

原创 make_01_Program_04_bat脚本怎么传递变量给makefile

通过这种方式,您可以灵活地在批处理脚本中定义变量,并将它们传递给 Makefile,以便在构建过程中使用。这种方法使得变量可以根据不同的需求和环境轻松地调整和配置。

2025-04-05 11:13:21 198

原创 bat_01_参数%*是什么功能?

在批处理脚本中,%*用于轻松获取并引用所有传递给脚本的参数,是处理命令行输入的一种方便方式。使用echo %*可以快速查看用户输入的所有参数,而不需要逐个引用每个参数。

2025-04-05 11:11:16 183

原创 make_01_Program_04_条件分支如何定义

在 Makefile 中使用条件分支和变量比较可以实现灵活的构建逻辑。利用ifeq和ifneq可以根据不同的条件控制编译和其他操作的执行,使得构建过程更加精细化和可定制化。

2025-04-05 11:07:59 264

原创 make_01_Program_03_makefile 如何判断变量包含某个字符

在 Makefile 中,您可以使用filter和findstring函数配合条件语句来判断一个变量是否包含某个字符或子串。这种方法灵活且易于实现,可以根据需要进行扩展和修改。

2025-04-05 11:04:30 272

原创 make_01_Program_02_makefile 如何判断文件在不在

在 Makefile 中,可以使用shell命令结合test或wildcard函数来判断文件的存在性。这两种方法都能有效地帮助您在构建过程中进行条件判断,从而根据文件的存在与否进行不同的操作。选择适合您需求的方式即可。

2025-04-05 11:02:06 294

原创 make_01_Program_01_makefile .SECONDARY .dirstamp 是什么功能

make program

2025-04-05 10:56:45 306

原创 make_02_Debug_01_如何用make有效地监控和调试并行构建过程中的错误?

make debug

2025-04-05 10:53:34 889

原创 bash_02_export_02_如何修改环境变量中命令的路径?

在 Linux 中,如果你想要修改PATH环境变量中某个命令的路径,可以按照以下步骤进行。PATH环境变量是一个包含可执行文件路径的列表,系统会在这些路径中查找命令。

2024-12-04 21:00:00 602

原创 bash_02_export_01_设置环境变量

直接在命令窗口输入以下命令。

2024-09-24 21:31:36 435

原创 CMake_CMD_02_add_custom_command() 是什么功能?

是 CMake 中一个非常灵活的功能,允许开发者在构建过程中执行自定义命令,生成或处理文件。这使得 CMake 能够适应多种构建场景和需求。

2024-09-09 21:09:03 389

原创 CMake_CMD_01_add_custom_target() 是什么功能?

是 CMake 中一个强大的工具,允许开发者定义和管理自定义构建目标,执行特定的命令或操作,而不直接与源文件关联。它在项目的构建管理和自动化中非常有用。

2024-09-09 21:07:30 301

原创 bash_01_tar_01_如何创建&解压压缩包

文件压缩与解压命令

2024-08-20 21:38:57 389

原创 AUTOSAR-COMStack-003_SignalGroup如何发送&接收

从需求[SRS_Com_02041], [RS_BRF_01632]来看,Signal Group机制主要用于发送,接收复杂数据类型的信号,并保持其一致性。换言之,若一个应用数据比较富足,有多个子数据类型组成,如结构体,若仍旧使用Signal机制,就需要分开进行发送,很难保证一个信号中的子数据类型的一致性。故而绑定各个子数据类型,一起更新,从而保证一致性。假设信号signal_a, signal_b 属于Signal Group group_x, 那么如何发送和接收信号呢?

2024-04-23 20:29:14 867

原创 AUTOSAR-COMStack-002_Update-Bit 机制

AUTOSAR COM Update-Bit 功能介绍

2024-04-13 17:11:22 701

原创 C_01_include文件有什么妙用

C语言语法详解

2024-01-23 20:53:47 519 1

原创 CMake_02_如何编译可调试文件

软件开发过程中,调试是必不可少的环节之一,让可执行文件”明牌“执行,不会漏过每一行代码,每一个变量的信息。从而帮助开发者快速定位到问题点。在CMake.txt文件中,设置如下编译参数就可以了(适用于CMake 3.14.7 版本)可执行文件中,正是多加了这些字段信息,才让GDB工具可以“明牌”运行。使用gdb工具调试运行上述文件,只能看到一行行指令,是没有代码的。好像没啥区别,过滤下看看。

2024-01-13 11:37:29 684

原创 Git_01_push失败之解决办法

Git know How 系列文章

2024-01-13 11:15:26 573

原创 Eclipse_04_如何设置TAB键为四个空格

Eclipse 默认设置TAB按键为TAB,使用其他编辑器打开时,会出现代码对齐的问题。可以将"TAB"键设置为四个空格,保证行对齐,代码风格一致。

2024-01-13 10:51:48 671 1

原创 vector_02_为什么会出现segment fault?

C++ 语法之 vector

2024-01-06 17:47:04 518

原创 vector_01_使用vector第一步是什么?

C++11 语法

2024-01-06 17:37:36 393

原创 CMake_01_如何链接库文件

CMake KnowHow

2024-01-01 18:11:23 441

原创 Eclipse_03_如何加快index速度

Xms:是最小堆内存大小,也是初始堆内存大小,因为堆内存大小可以根据使用情况进行扩容,所以初始值最小,随着扩容慢慢变大。-Xmx:是最大堆内存大小,随着堆内存的使用率越来越高,堆内存的大小会趋向于最大内存大小扩容。完整参数详解(该参数意思为堆内存初始值为2048m、最大值为8096m)

2023-12-19 21:00:31 922

原创 Eclipse_02_如何设置代码字体格式&大小

Eclipse 使用方法

2023-12-19 20:43:03 460

原创 Eclipse_01_如何设置代码文件背景颜色为护眼沙绿色

Eclipse 工具使用方法

2023-12-19 20:41:17 485

原创 多线程同步之互斥锁

线程同步

2023-11-07 20:57:32 124

原创 enum类型变量强制转换为uint_16类型,是向上转换,还是向下转换?

C语言基础再出发

2023-09-09 17:17:27 568

原创 CMake_Demo

CMake工具

2023-08-12 17:22:31 267

原创 宏定义_可变参数

宏定义 可变参数

2023-05-24 21:33:52 749

原创 WIN7+VSCODE如何搭建C++开发环境

如何在win7系统上搭建VSCODE C++开发环境

2023-03-26 17:45:27 1346

原创 SPI通信拓扑如何选择?

SPI通信拓扑

2022-10-23 21:16:59 1910

原创 SPI通信模式是什么?

SPI通信模式是什么?

2022-10-23 20:15:48 1508

原创 重读《人月神话》

焦油坑我们要跳到一个什么样的坑里,坑有多深?ProgramProgram product = 3 * Program 工作量Program System = 3 * Program 工作量Program System product = 3 * 3 * Program 工作量明知是坑,为何我们还执意跳?创造的快乐,独乐乐不与众乐乐!痛苦的根源也来于此,为他人做梦,让别人快乐!人月神话片刻等待,更多美味,更多享受计划 = ?计划的方法:乐观主义?计划的单位:人, 月可以互换?

2022-10-09 22:59:02 193

ucos移植教程

stm32+ucos,该文档介绍了在uCOS-II上的LwIP协议在STM32F107上移植过程,可以参考一下。

2013-11-18

空空如也

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

TA关注的人

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