学习目标
1. 熟悉 Linux 系统下的开发环境
2. 熟悉 vi 的基本操作
3. 熟悉 gcc 编译器的基本原理
4. 熟练使用 gcc 编译器的常用选项
5. 熟练使用 gdb 调试技术
6. 熟悉 makefile 基本原理及语法规范
7. 掌握静态库和动态库的生成与调用方法
8. 理解 C 程序中模块的概仿, 模块分解的 "高内聚, 低耦合" 的原则
9. 了解链接的概念
实验楼学习内容总结
要点:
-gcc 简介:
GNU CC(简称为 gcc) 是 GNU 项目中符合 ANSI C 标准的编译系统, 能够编译用 C,C++ 和 Object C 等语言编写的程序. gcc 又是一个交叉平台编译器, 它能够在当前 CPU 平台上为多种不同体系结构的硬件平台开发软件, 因此尤其适合在嵌入式领域的开发编译.
- 编译过程:
预处理: gcc -E hello.c -o hello.i;gcc -E 调用 cpp
编 译: gcc -S hello.i -o hello.s;gcc -S 调用 ccl
汇 编: gcc -c hello.s -o hello.o;gcc -c 调用 as
链 接: gcc hello.o -o hello ;gcc -o 调用 ld
-gdb:
注意使用 GCC 编译时要加 "-g" 参数. GDB 最基本的命令有:
gdb programm(启动 GDB)
b 设断点 (要会设 4 种断点: 行断点, 函数断点, 条件断点, 临时断点)
run 开始运行程序
bt 打印函数调用堆栈
p 查看变量值
c 从当前断点继续运行到下一个断点
n 单步运行
s 单步运行
quit 退出 GDB
实验楼练习:
1. 使用 VIM 输入以下代码, 联系使用 "K" 查找帮助文档, 将下列代码分别输入 head.h add.c sub.c div.c mul.c main.c 中
- 教材学习中的问题和解决过程:
-1. 问题: 由于上学期使用虚拟机实验时调整了网络设置导致现在一直无法连接网络根据网上办法无法解决.
- 代码托管 ( https://gitee.com/zyzgl/zyz )
来源: http://www.bubuko.com/infodetail-3208943.html