在linux中的gcc调试信息,Linux GCC 调试

安装Wget

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

未安装:

yum -y install wget

second: 安装gcc

yum install gcc

third:安装 gdb

yum install gdb

At last: 自由选择安装 make

yum install make

开发过程

57d747cf2957

image.png

简洁版

command:vi test.c

C 源码:

#include

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 该参数后边指定具体的库名

math?formula=%5Ccolor%7B%23228B22%7D%7BLinux%20%E5%AD%A6%E4%B9%A0%E5%B0%8F%E6%80%BB%E7%BB%93%EF%BC%8C%E4%B8%8D%E5%AF%B9%E4%B9%8B%E5%A4%84%EF%BC%8C%E6%AC%A2%E8%BF%8E%E5%A4%A7%E7%A5%9E%E4%BB%AC%E5%96%B7%E6%88%91%E3%80%82%E5%8F%AF%E4%BB%A5%E7%9A%84%E8%AF%9D%E9%A1%BA%E6%89%8B%E7%82%B9%E4%B8%AA%E8%B5%9E%E5%90%A7~~%EF%BC%81%7D

math?formula=%5Ccolor%7Bred%7D%7B%E8%AD%A6%3A%20%E7%A6%81%E6%AD%A2%E6%8A%84%E8%A2%AD%EF%BC%8C%E8%BD%AC%E8%BD%BD%E8%AF%B4%E6%98%8E%E5%87%BA%E5%A4%84%20%F0%9F%A4%A8%7D

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值