gcc 编译四大步骤:
1,预处理阶段:
gcc -o hello.i hello.c -E
*.c --> *.i
主要是把头文件展开,完成函数或结构体等的声明;
2,编译:
gcc -o hello.s hello.i -S
*.i --> *.s
主要是把c源码文件翻译成汇编文件;
3,汇编:
gcc -o hello.o hello.s -c
*.s --> *.o
主要是把汇编文件翻译成二进制的目标文件;
4,链接:
*.o --> *.bin
把所有的目标文件添加上和系统对接的代码,最后生成可执行程序;
即 gcc -o ****.i ****.c -E
gcc -o ****.s ****.i -S
gcc -o ****.o ****.s -c
gcc -o ****.bin ****.o
1,预处理阶段:
gcc -o hello.i hello.c -E
*.c --> *.i
主要是把头文件展开,完成函数或结构体等的声明;
2,编译:
gcc -o hello.s hello.i -S
*.i --> *.s
主要是把c源码文件翻译成汇编文件;
3,汇编:
gcc -o hello.o hello.s -c
*.s --> *.o
主要是把汇编文件翻译成二进制的目标文件;
4,链接:
*.o --> *.bin
把所有的目标文件添加上和系统对接的代码,最后生成可执行程序;
即 gcc -o ****.i ****.c -E
gcc -o ****.s ****.i -S
gcc -o ****.o ****.s -c
gcc -o ****.bin ****.o