欢迎来到站长天空!

其它服务器

当前位置: 主页 > 服务器 > 其它服务器

Linux系统下gcc命令使用详解

时间:2026-01-07 22:45:09|栏目:其它服务器|点击:

目录
  • 一.预处理
  • 二. 编译
  • 三.汇编
  • 四.链接

1.gcc的安装(以Ubuntu为例) sudo apt-get install build-essential

安装完后可以通过 gcc --version 查看版本。

让我们在通过gcc编译可执行文件的过程中掌握其基础应用。

准备: 先在当前目录下 使用vim新建一个.c文件 例如 666.c

$ vim 666.c

(vim的使用可在我的另一篇博客有详细的叙述,这里不多在赘述)

插入一段代码。

#include 
main()
{
	int a,i;
	a=6;
	for(i=0;i<3;i++)
	{
		printf("%d",a);
	}
}

  

Linux系统下gcc命令使用详解

(每次我们用 cat 查看)

一.预处理

1.预处理通过对宏定义(像#define)进行展开,对头文件(像 stdio.h)进行展开,对条件进行(像ifdef)编译,展开所有宏,删除所有注释(像"//").预处理cpp把源代码,头文件预编成一个.i文件。(注意这时并不检查语法,所以即使有语法错误也不会报错。)

  2.命令:

$ gcc -E (源文件名) -o (预处理文件名)

或者:

$ gcc (源文件名) > (预处理文件名)

  例如按666.c 来说,预处理时可以是 :

  gcc -E 666.c -o 666.i

  也可以是 gcc 666.c > 666.i

Linux系统下gcc命令使用详解

二. 编译

   1.编译也就是检查语法是否错误,将预处理过的文件编译成汇编文件。

   2.命令:

$ gcc -S (源文件) -o (汇编文件)

  例如 gcc -S 666.i -o 666.s

Linux系统下gcc命令使用详解

三.汇编

1. 汇编也就是将汇编文件生成目标文件(二进制文件)通过汇编,文本代码变成了二进制代码。(二进制代码文件以.o为后缀名)。

2.命令:

$ gcc -c (汇编文件) -o (目标文件)

例如 gcc -c 666.s -o 666.o

Linux系统下gcc命令使用详解

(这时候因为是二进制文件了,所以会乱码)

四.链接

1. 链接找到依赖的库文件(静态与动态),将目标文件链接为可执行程序。

$ gcc -c [目标文件] -o [可执行程序] -l[动态库名]

假如没有动态库的话(一般)

直接

$ gcc -c [目标文件] -o [可执行程序] 

例如 gcc -c 666.o -o 666

此时会生成可执行程序 666

如果想执行使用该命令:

$ ./可执行程序

其中./是在当前目录下的意思。

例如 ./666

Linux系统下gcc命令使用详解

(注意:在一般我们使用时 如果使用 gcc 可执行文件名,会默认生成a.out 可执行文件,这时我们直接执行它时用 ./a.out )

上一篇:nginx开启gzip压缩的完整步骤记录

栏    目:其它服务器

下一篇:shell脚本查看k8s日志介绍

本文标题:Linux系统下gcc命令使用详解

本文地址:https://zz.feitang.co/server/35150.html

广告投放 | 联系我们 | 版权申明

申明:本站所有的文章、图片、评论等,均由网友发表或上传并维护或收集自网络,属个人行为,与本站立场无关。

如果侵犯了您的权利,请与我们联系,我们将在24小时内进行处理、任何非本站因素导致的法律后果,本站均不负任何责任。

联系QQ:257218569 | 邮箱:257218569@qq.com

Copyright © 2018-2026 站长天空 版权所有 Powered by EyouCms冀ICP备14023439号