美文网首页
嵌入式day14

嵌入式day14

作者: 小土豆dy | 来源:发表于2019-08-09 19:15 被阅读0次

Makefile

test:f1.o f2.o main.o
 gcc f1.o f2.o main.o -o test
f1.o:f1.c
 gcc -c -Wall f1.c -o f1.o
f2.o:f2.c
 gcc -c -Wall f2.c -o f2.o
main.o:main.c
 gcc -c -Wall main.c -o main.o
clean:
 rm *.o test

创建和使用变量

创建变量的目的:用来代替一个文本字符串

  1. 系列文件的名字

  2. 传递给编译器的参数

  3. 需要运行的程序

  4. 需要查找源代码的目录

  5. 你需要输出信息的目录

  6. 你想做其他事情

变量定义的两种方式

  • 递归展开方式VAR=var

  • 简单方式VAR: =var

变量使用($(VAR))

用“$$”来表示“$”

类似于编程语言中的宏

用这种方式定义的变量,会在变量的定义点,按照被引用的变量的当前值进行展开

这种定义变量的方式更适合在大量的编程项目中使用,因为它更像我们一般的编程语言

自动变量

$* 不包含扩展名的目标文件名称
$+ 所有依赖文件,以空格分开,并以出现的先后为序,可能包含重复的依赖文件
$< 第一个依赖文件的名称
$? 所有时间戳比目标文件晚的依赖文件,以空格分开
$@ 目标文件的完整名称
$^ 所有不重复的目标依赖文件,以空格分开
$% 如果目标是归档成员,则该变量表示目标的归档成员名称

Make使用

直接运行make

选项 含义
-C dir读入指定目录下的Makefile
-f file读入当前目录下的file文件作为Makefile
-i 忽略所有的命令执行错误
-I dir指定被包含的Makefile所在目录
-n 只打印要执行的命令,但不执行这些命令
-p 显示make变量数据库和隐含规则
-s 在执行命令时不显示命令
-w 如果make在执行过程改变目录,打印当前目录名

Makefile的隐含规则

  • 编译C程序的隐含规则

<n>.o”的目标的依赖目标会自动推导为“<n>.c”,并且其生成命令是$(CC) -c $(CPPFLAGS) $(CFLAGS)

  • 链接Object文件的隐含规则

<n>”目标依赖于“<n>.o”,通过运行C的编译器来运行链接程序生成(一般是“ld”),其生成命令是:$(CC) $(LDFLAGS) <n>.o

$(LOADLIBES) $(LDLIBS这个规则对于只有一个源文件的工程有效,同时也对多个Object文件(由不同的源文件生成)的也有效。

Makefile的VPATH

VPATH:(虚路径)在make需要去找寻依赖关系时,在文件前加上路径,把路径告诉make。


数据结构

数据结构概念

数据结构是研究组成数据的数据元素的关系的学科。

数据结构研究的目的

通过研究数据元素的关系,帮助我们在开发软件的时候更好的组建数据模型,让数据在内存中的操作更加的流畅高效。

  • 逻辑关系

  • 存储关系

  • 运算关系

数据

数据即信息的载体,是能够输入到计算机中并且能被计算机识别、存储和处理的符号总称。

数据元素

数据元素是数据的基本单位,又称之为记录(Record)

数据项

数据元素由若干数据项组成,数据项是数据中的最小单位。

数据类型

数据类型是对数据元素取值范围与运算的限定。

数据结构(DS)可用形式化语言描述,即DS是一个二元组:DS = (D, R),其中D为数据元素的集合,R为D上关系的集合。

数据之间的相互关系

  1. 逻辑结构:

表示数据元素之间的抽象关系(如邻接关系、从属关系等)。

有四种基本的逻辑结构:集合结构、线性结构、树形结构、图状结构

  1. 存储结构

    数据的逻辑结构在计算机内的存储形式。

分为顺序存储结构、链接存储结构、索引存储结构、散列存储结构

  1. 数据运算

对数据进行的操作,如插入、删除、查找、排序等。

相关文章

  • 嵌入式day14

    Makefile 创建和使用变量 创建变量的目的:用来代替一个文本字符串 系列文件的名字 传递给编译器的参数 需要...

  • Linux嵌入式系统开发,嵌入式Linux开发教程

    嵌入式有不少组合名词,例如嵌入式系统,嵌入式软件,Linux嵌入式,Android嵌入式,嵌入式Web,等等。通常...

  • 2018-09-15

    Day14

  • 自律给我自由—Day014

    【叶子姑娘的自律100天挑战 Day14】 2019.01.28 Day14 【早起】day17 【阅读】《自律给...

  • 嵌入式系统的组成

    1.嵌入式系统体系架构图 2.嵌入式系统的硬件架构 嵌入式处理器 嵌入式处理器是各嵌入式系统的核心部件,其功耗、体...

  • 最系统的ARM嵌入式资料

    最系统的ARM嵌入式资料 最新整理史上最齐全嵌入式资料,嵌入式的ARM体系结构的学习,下面给大家分享嵌入式从入门到...

  • 装修厨房到底要不要装嵌入式橱柜?

    众所周知,嵌入式橱柜越来越受人们的喜爱,现代厨房几乎装的都是嵌入式橱柜。那么,厨房到底要不要装嵌入式橱柜?嵌入式橱...

  • 华清远见---嵌入式知识架构 1

    导读:什么是嵌入式呢? 答案: 嵌入式及嵌入式系统。 嵌入式技术是以应用为中心,以计算机技术为基础,并且软硬件可裁...

  • 嵌入式应该如何学习,高手建议如何学习嵌入式系统

    嵌入式的运用的技术范围越来越广,想进入嵌入式行业,嵌入式应该如何学习呢?对于没有基础的同学该怎么学习嵌入式,今天就...

  • 第一期题目

    嵌入式工作室招新题 1.题目名称 初步认识嵌入式与STM32 2.题目内容 什么是嵌入式开发?试举出至少5例嵌入式...

网友评论

      本文标题:嵌入式day14

      本文链接:https://www.haomeiwen.com/subject/ughkjctx.html