day 40 复习makefile以及51单片机

embedded/2025/2/13 6:35:16/

1.makefile

1.流程

1.将源文件和头文件以及库分别放在src include lib中
2.在源码目录下创建一个名为makefile的文件
3.编写makefile代码。
4.make编译

2.怎么编写代码

通过定义变量 将gcc main.c tree.c queue.c -o app -lm -lpthread 转换
在这里插入图片描述
1.定义变量(所有变量当字符串处理)
定义:变量名=值
也可以
SRC=main.c
SRC+=tree.c
SRC+=queue.c
2.访问变量
$(变量名)
3.系统变量
在这里插入图片描述
4.-I(大写)+头文件位置要在makefile中指定
-L(大写)连接库

在这里插入图片描述
5.删除目标
在这里插入图片描述
然后在终端使用make clean命令删除

6. makefile 时间戳
文件编译时,当文件发生了修改,时间戳会改变,没有修改不会改变,时间戳更新的文件需要重新加入编译,时间戳没有改变的不需要重新编译,节省编译时间
代码中先汇编再链接
%是通识符,前面是目标后面是原
在这里插入图片描述
在这里插入图片描述

2.单片机>51单片机

1.工程创建

1.创建项目文件夹
2.创建新project
在这里插入图片描述
3.创建main.c以及各个模块的源文件以及头文件
在这里插入图片描述
4.添加源文件到GROUP
5.编译生成可执行文件


http://www.ppmy.cn/embedded/161804.html

相关文章

2025Java面试题超详细整理《微服务篇》

什么是微服务架构? 微服务框架是将某个应用程序开发划分为许多独立小型服务,实现敏捷开发和部署,这些服务一般围绕业务规则进行构建,可以用不同的语言开发,使用不同的数据存储,最终使得每个服务运行在自己…

Hyperledger caliper 性能测试

前言:Hyperledger caliper 的本质是使用node对被测试网络进行压力测试,因此需要nodejs。本次使用 Hyperledger caliper 0.5 对 fabric 1.4.6进行压测 准备条件:nodejs 16 (略 linux下 解压环境变量即可) # 创建工作…

Python解决“数字字符串千分位转化”问题

Python解决“数字字符串千分位转化”问题 问题样例 解决代码 问题 A在工作时遇到了一个问题,他需要将用户输入的不带千分位逗号的数字字符串转换为带千分位逗号的格式,并且保留小数部分。A还发现,有时候输入的数字字符串前面会有无用的 0&am…

JavaScript设计模式 -- 适配器模式

在软件开发中,经常会遇到这样的情况:现有的类或第三方库提供的接口与系统中期望的接口不匹配。如果直接修改已有代码风险较大或者不可行,这时适配器模式(Adapter Pattern)就能派上用场。适配器模式通过创建一个包装类&…

debian和ubuntu安装python3.8并修改默认python版本

下载python 获取python3.8源码 wget https://www.python.org/ftp/python/3.8.0/Python-3.8.0.tgz 解压并进入python文件夹 tar -zxvf Python-3.8.0.tgz cd Python3.8.0 配置编译选项 ./configure 编译并下载 make && sudo make install ps:install…

如何使用Java语言在Idea和Android中分别建立服务端和客户端实现局域网聊天

手把手教你用Java语言在Idea和Android中分别建立服务端和客户端实现局域网聊天 目录 文章目录 手把手教你用**Java**语言在**Idea**和**Android**中分别建立**服务端**和**客户端**实现局域网聊天**目录**[toc]**基本实现****问题分析****服务端**Idea:结构预览Server类代码解…

java项目之基于SSM会议管理系统的设计与实现源码(ssm+mysql)

项目简介 基于SSM会议管理系统的设计与实现实现了以下功能: 基于SSM会议管理系统的设计与实现的主要使用者分为:管理员登录后修改个人的密码。用户管理中,对公司内的用户进行管理,包括会议管理员和员工,管理部门信息…

多模态模型详解

多模态模型是什么 多模态模型是一种能够处理和理解多种数据类型(如文本、图像、音频、视频等)的机器学习模型,通过融合不同模态的信息来提升任务的性能。其核心在于利用不同模态之间的互补性,增强模型的鲁棒性和准确性。 如何融合…