栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > C/C++/C#

C语言概述(.bin和.hex区别)

C/C++/C# 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

C语言概述(.bin和.hex区别)

一、C语言发展史

二、C语言的特点

三、C语言标准

四、编程机制


头文件.h 源文件.c
1、预处理
将所有的#include头文件以及宏定义替换成其真正的内容,依然是是文本文件,使用预处理器cpp来完成
gcc -E -I./inc test.c -o test.i
or $ cpp test.c -I./inc -o test.i
这一过程 test .c 文件变成 test.i 文件。

(-E是让编译器在预处理之后就退出,不进行后续编译过程;-I指定头文件目录,这里指定的是我们自定义的头文件目录;-o指定输出文件名)

2、编译:
将经过预处理之后的程序转换成特定汇编代码(assembly code)的过程。
$ gcc -S -I./inc test.c -o test.s
这一过程 test .c 文件变成 test.s文件。

-S让编译器在编译之后停止,不进行后续过程

3、汇编
汇编过程将上一步的汇编代码转换成机器码(machine code),这一步产生的文件叫做目标文件,是二进制格式。gcc汇编过程通过as命令完成。
$ as test.s -o test.o
or gcc -c test.s -o test.o
这一步会为每一个源文件产生一个目标文件。mymath.c也需要产生一个mymath.o文件

4、链接
链接过程将多个目标文以及所需的库文件(.so等)链接成最终的可执行文件.exe
$ ld -o test.out test.o inc/mymath.o …libraries…

.bin和.hex区别

.bin文件只包括数据本身,不包含地址信息,它的大小是数据的实际大小。在烧录时一定要指定地址信息。

.hex文件包括地址信息,它的大小并不是数据实际大小,原因有二:一是.hex文件是用ASCII来表示数据的,二是.hex文件本身还包括别的附加信息。

参考学习来源:
C技能树

与优秀的人为伍,不畏得失,做有趣的事。
相互成就,日益精进,终成正果。

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/876424.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号