目录
一:使用命令创建工程编写程序
1.创建工程文件夹 mkdir xxx
mkdir provide
2.查看工程是否创建成功 ls
ls
3.预览查看文件内容 cat xxx.[后缀名] [后缀决定文件类型]
cat hello.c
4.拷贝xxx文件(hello.c)到xxx工程文件夹(provide)中 cp xxx.c xxx/
cp hello.c provide/
5.查看provide下有没有hello.c ls xxx/
ls provide/
6.直接预览查看目标文件 ls xxx/xxx.c
cat provide/hello.c
二:gcc编译工具
1.进入provide工程文件夹中 cd xxx/
cd provide/
2.gcc编译工具[可执行程序] gcc hello.c -o hello编译.c文件
gcc hello.c -o hello
3.发现虚拟机未安装gcc编译工具,需要先安装 apt install gcc
apt install gcc
y确定 继续安装
三:如何生成.i(预处理).s(汇编).o(二进制)文件
编译运行程序 即会 生成.i(预处理).s(汇编).o(二进制)文件
1.编译单个.c 文件可以生成可执行文件(hello) gcc xxx.c -o xxx
gcc hello.c -o hello
2. 运行程序 ./xxx
./hello
3.预处理.c文件生成.i文件 gcc -E xxx.c -o xxx.i
gcc -E hello.c -o hello.i
4.编译.i文件生成.s文件 gcc -S xxx.i -o xxx.s
gcc -S hello.i -o hello.s
5.汇编.s文件生成.o文件 gcc -c xxx.s -o xxx.o
gcc -c hello.s -o hello.o
6.查看看出已经生成hello.i hello.s和hello.o文件 ls
ls
7.预览查看.i预处理文件 cat xxx
cat hello.i
看下.i文件
仔细分析也不过就是把头文件展开,查看一下有没有接口
8.预览查看 .s 汇编文件 cat xxx
cat hello.s
9.预览查看 .o 二进制文件 cat xxx
cat hello.o
四:工程下的多文件编译运行
多文件的编译运行【编译所有.c文件】
1.删除 rm
hello.i (预处理) hello.s(汇编)hello .o(二进制) hello(可执行文件)
rm hello.i hello.o hello.s hello
2.使用vim编辑器 编写hello.c vim xxx.c
vim hello.c
3.使用vim编辑器 编写hello.h vim xxx.h
vim hello.h
4.使用vim编辑器 编写main.c vim xxx.c
5.查看 已经生成有hello.c hello.h main.c ls
ls
6.编译所有.c文件[多文件编译] gcc *.c -o main
gcc *.c -o main
7.查看看出 生成有main可执行文件 ls
ls
8.运行可执行文件 ./main
./main
9.生成main .i文件(预处理文件) gcc -E main.c -o main.i
gcc -E main.c -o main.i
五:分析.i预处理文件
1.查看看出 main.i文件已经生成 ls
ls
2.预览查看main.i 预处理文件 cat xxx
仔细分析 其作用类比于 展开的include hello.h (main.c中编写的头文件)
cat main.i