GCC 全称 GNU C compile GNU 是一个开元组织 C 的编辑器 现在 GCC变成了 多种 语言编辑器
作为 嵌入式开发人员对于GCC要非常了解
gcc -v查看默认安装 版本
gcc -o output
gcc -o 输出文件 输入文件
gcc -v -o build 001.c 打印出许多服务信息
预处理
gcc -o a.i 001.c
替换
gcc -E
编译
/usr/lib/gcc/i486-linux-gnu/4.4.3/cc1 -o a.s 001.c
(gcc -S)
汇编
as -o a.o a.s
(gcc -c)
连接
usr/lib/gcc/i486-linux-gnu/4.4.3/collect2 -o build a.o+..................
gcc -o build 001.c
define include 不是关键字 在预处理就已经处理完了 关键字实在编译阶段处理的
硬件芯片操作的最小单位
bit 1 0
预处理中的错误
#include"name" 当前工程编译
#include<name>系统库里编程
not find
gcc -I 查找头文件目录
编译错误
; {}弄错
链接错误 链接就是把.o文件生成一个可执行程序
原材料多了 或不够 就是在编程是 函数 没有写完 但是声明了 或者 写重复了
root@yxcq-desktop:/mnt/hgfs/mnt/src# gcc -I./inc -o build 001.c abc.c
root@yxcq-desktop:/mnt/hgfs/mnt/src#
root@yxcq-desktop:/mnt/hgfs/mnt/src#
root@yxcq-desktop:/mnt/hgfs/mnt/src# ls
001.c 002.cpp 123.txt abc.c a.i a.o a.s build inc
root@yxcq-desktop:/mnt/hgfs/mnt/src#
root@yxcq-desktop:/mnt/hgfs/mnt/src#
root@yxcq-desktop:/mnt/hgfs/mnt/src#
root@yxcq-desktop:/mnt/hgfs/mnt/src# gcc -I./inc -c 001.o 001.c
gcc: 001.o: 没有那个文件或目录
root@yxcq-desktop:/mnt/hgfs/mnt/src# gcc -I./inc -c -o a.o 001.c
root@yxcq-desktop:/mnt/hgfs/mnt/src#
root@yxcq-desktop:/mnt/hgfs/mnt/src#
root@yxcq-desktop:/mnt/hgfs/mnt/src# ls
001.c 001.o