目录
sudo apt install git -y。-y表示当安装过程提示选择全部为"yes"。
| GIT命令 | 说明 | 示例 |
| clone | 克隆,从远程仓库下载到本地仓库 | git clone https://e.coding.net/weiongshan/01_all_series_quickstart.git |
| pull | 拉取,把本地仓库更新到远程仓库 | git pull |
| log | 查看本地仓库的记录 | git log,快捷键:f前翻、b后翻、q退出 |
| status | 查看本地仓库的状态,比如有无修改、修改有无提交进仓库里 | git status |
| tag | 查看标签,或是打标签 | git tag(查看标签) git tag v2(打标签) |
| checkout | 提取出某个版本 | 使用git log查看版本,可以看到这样的版本号: commit 4eb78f0a27a85957e1d38a23c5b031cc2aa4b93f 这时就可以执行以下命令取出这个版本: git checkout 4eb78f0a27a85957e1d38a23c5b031cc2aa4b93f 执行上诉命令后,当前目录里就是这个版本的源码: 要想提取出最新的代码,执行:git checkout master |
GitHub:国外用git工具来搭建的远程服务器。
Gitee:国内用git工具来搭建的远程服务器。
廖雪峰的git教程:https://www.liaoxuefeng.com/wiki/896043488029600
git官方中文手册:https://www.git-scm.com/book/en/v2
本地编译:编译器运行在ARM(或X86_64)架构平台上,编译生成ARM(或X86_64)架构的可执行程序。
交叉编译:编译器运行在ARM(或X86_64)架构平台上,编译生成X86_64(或ARM)架构的可执行程序。

在虚拟机中,得知gcc链接于x86_64-linux-gnu-gcc-11。 单片机一般链接于arm-linux-gnueabihf-gcc-8。
第一项:支持的硬件平台
第二项:linux(运行在Linux操作系统上)或none(无操作系统,如裸机、uboot或linux内核代码本身等)
第三项:gnu-glibc库 eabi-应用二进制标准接口 hf-编译器支持硬浮点平台
ubuntu 安装x86_64-GCC:apt install gcc
ubuntu 安装ARM-GCC:apt install gcc-arm-linux-gnueabihf

| gcc编译选项 | 描述 |
| -c | 只进行预处理、编译和汇编,生成.o文件 |
| -S | 只进行预处理、编译,生成.s文件 |
| -E | 只进行预处理,产生预处理后的结果到标准输出 |
| -C | 预处理时不删除注释信息,常与-E同时使用 |
| -o | 指定目标名称,常与-c、-S同时使用,默认是.out |
| -O[0~3] | 编译器优化,数值越大优化级别越高,0没有优化 |
| -g | 编译器编译时加入调试信息 |
| -share | 使用动态库 |
| -static | 禁用使用动态库 |
预处理过程:编译器会对源代码中的头文件和预处理语句进行分析,生成以.i为后缀的预处理文件。
编译过程:将输入的源代码编译成.o为后缀的目标文件。
汇编过程:将汇编语言编译成.o为后缀的目标文件。
链接过程:所有目标文件被安排在可执行程序中恰当的位置。
- apt install gdb
- gcc -g -o helloworld helloworld.c
- gdb helloworld
| GDB命令 | 描述 |
| file <文件名> | 在GDB中打开可执行文件 |
| break | 设置断点,支持的形式:break 行号、break 函数名称、break 行号/函数名称 if 条件 |
| info | 查看和可执行程序相关的各种信息 |
| kill | 终止正在调试的程序 |
| 显示变量或表达式的值 | |
| set args | 设置调试程序的运行参数 |
| delete | 删除设置的某个断点或观测点 |
| clear | 删除设置在指定行号或函数上的断点 |
| continue | 从断点处继续执行程序 |
| list | 列出GDB中打开的可执行文件代码 |
| watch | 在程序中设置观测点 |
| run | 运行打开的可执行文件 |
| next | 单步执行程序 |
| step | 进入要调用的函数内部,查看执行情况 |
| whatis | 查看变量或函数原型,调用格式:whatis 变量名/函数名 |
| ptype | 显示数据结构定义情况 |
| make | 编译程序 |
| quit | 退出GDB |