Linux(Ubuntu)(终端实现helloworld输出)
一、终端实现gcc编译
1.写好helloworld.h,helloworld.c,main.c后,打开终端,切换到保存这些文件的文件夹的目录,我把这些文件存放在helloworld的文件夹下,所以输入cd ~/helloworld
2.查看该目录下的文件,如果之前没有执行过应该没有main*这个文件
3.终端输入gcc main.c helloworld.c -o main
这句话中gcc代表编译,-o代表输出到。所以这句话就是编译main.c和helloworld.c文件后,输出到main文件
4.终端输入./main
输出hello world
二、gcc流程
1.预处理。把.c文件输出为.i文件,终端依次输入
gcc -E helloworld.c -o helloworld.i
gcc -E main.c -o main.i
其中gcc -E代表预处理,第一句话就是预处理helloworld.c文件,然后输出到helloworld.i文件
2.编译。把.i文件输出为.s文件,终端依次输入
gcc -S helloworld.i -o helloworld.s
gcc -S main.i -o main.s
3.汇编。把.s文件输出为.o文件,终端依次输入
gcc -c helloworld.s -o helloworld.o
gcc -c main.s -o main.o
4.链接,分为静态链接、动态链接和混合链接
静态链接:gcc -static main.o helloworld.o -o main
动态链接:gcc main.o helloworld.o -o main(默认动态链接)