To my CSDN

Linux基础学习 | gcc、g++的安装和使用

安装gcc

1、apt-get命令是debain Linux发新版的APT软件包管理工具。

dabianubuntudeepin等Linux系统通过以下命令:
安装gcc:Shell输入sudo apt-get install gcc命令,然后回车确定就可以了。
安装g++:Shell输入sudo apt-get install g++命令,回车确定。
用于我这里已经安装过,所以显示gcc 已经是最新版。
在这里插入图片描述
2、yum命令是在FedoraRedHat以及SUSE中基于rpm的软件包管理器。
Shell输入sudo yum install gcc命令,sudo yum install gcc-g++命令。

使用gcc

0、使用vim编写程序,命令vim main.c编写如下代码:

#include <stdio.h>
#include <stdlib.h>
int main()
{
	printf("hello world!\n");
	exit(0);
}

在这里插入图片描述
1、预编译:命令gcc -E mian.c -o main.i预编译,生成main.i文件。其中-E表示预编译,main.c是源文件,main.i表示生成的文件(-o 表示目标Object)
在这里插入图片描述
2、编译:命令gcc -S main.i -o main.s编译,生成main.s文件
在这里插入图片描述
3、汇编:命令gcc -c main.s -o main.o汇编,生成main.o文件
在这里插入图片描述
4、连接:命令gcc -o mian.o -o main连接,生成可执行文件
在这里插入图片描述
5、执行:命令./main执行。./表示当前目录。
在这里插入图片描述
6、直接编译
1、可以用命令gcc -c main.c -o main.o命令一步编译至汇编阶段。
在这里插入图片描述
2、可以用命令gcc -o main main.c命令将c程序一步编译完成。此命令可用于简化c程序编译步骤。
在这里插入图片描述
另外,有些程序依赖动态库在编译时在后边加上-l库名
比如2.c程序中用到了#include <math.h>编译时应该加上动态共享库名在这里插入图片描述

gdb调试

首先安装gdb,apt-get install gdb
1、编译程序gcc -o main main.c -g,加上-g生成调试信息
2、gdb main开始调试
在这里插入图片描述
命令:
l 显示代码    p 打印
b 加断点     q 退出
r 运行      info break
n 单步调试    info threads
s 进入函数    threads id
finish 退出函数  set follow-fork-mode child
bt 显示函数调用栈关系

此外,还有以下几种调试
  1. core文件调试 ulimit -c size 设置生成文件大小(程序崩溃时生成)
  2. strace 跟踪打印系统调用 -p pid
  3. ltrace 跟踪库函数
posted @ 2019-12-07 00:37  我叫RT  阅读(1306)  评论(0编辑  收藏  举报