美文网首页
Linux GCC 调试

Linux GCC 调试

作者: 南土酱 | 来源:发表于2021-03-11 16:21 被阅读0次

安装Wget

wget --version (显示相关信息,查看是否已经安装)
未安装:
yum -y install wget

second: 安装gcc

yum install gcc 

third:安装 gdb

yum install gdb

At last: 自由选择安装 make

yum install make

开发过程

image.png

简洁版

command:vi test.c
C 源码:
#include<stdio.h>
int main(){
  printf("hello world");
  return 0;
}

command: gcc -0 test test.c
command: ls(查看是否成功,文件的存在性)
command: test test.c
运行:
./test (文件名即可)

一个C 程序的编译包括 预处理,编译,汇编,链接。
下边采用分步编译来帮助理解

预处理阶段:
生成一个中间文件(扩展名为 .i) 
gcc -E test.c -o test.i

编译阶段:
输入中间文件(.i),编译后生成汇编文件 (.s)
gcc -S test.i -0 test.s

汇编阶段:
汇编文件 (.s)转换为二进制机器代码 (.o)
gcc -c test.s -0 test.o

链接阶段:
二进制文件 (.o) 与库文件等汇集形成可执行的二进制代码文件
gcc test.o -o test
最终生成可执行的文件 test

简化版命令:
gcc -c test.c -o test.o
gcc test.o -o test
最简化命令:
gcc test.c -o test

格式:
gcc [选项] [文件名]
-c   只编译  ,但不链接成可执行文件,编译器把C编译为目标文件 .0
-o 文件名 : 用于生成输出文件
-g 产生调试器GDB 所必需的符号信息,一般需要对源程序进行调试。
-O 对程序进行优化编译,链接
-O2 比 -O 更好的优化编译,链接。但是整个过程会较慢
-03 比 -O2更进一步优化
-Wall  输出所有警告信息
-w 关闭所有警告
-l 该参数后边指定具体的库名

\color{#228B22}{Linux 学习小总结,不对之处,欢迎大神们喷我。可以的话顺手点个赞吧~~!}
\color{red}{警: 禁止抄袭,转载说明出处 🤨}

相关文章

网友评论

      本文标题:Linux GCC 调试

      本文链接:https://www.haomeiwen.com/subject/uavwqltx.html