设为首页收藏本站

安徽论坛

 找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 10081|回复: 0

Linux系统下gcc命令使用详解

[复制链接]

76

主题

0

回帖

240

积分

中级会员

Rank: 3Rank: 3

积分
240
发表于 2022-3-26 11:02:41 | 显示全部楼层 |阅读模式
网站内容均来自网络,本站只提供信息平台,如有侵权请联系删除,谢谢!
目录

1.gcc的安装(以Ubuntu为例) sudo apt-get install build-essential
安装完后可以通过 gcc --version 查看版本。
让我们在通过gcc编译可执行文件的过程中掌握其基础应用。
准备: 先在当前目录下 使用vim新建一个.c文件 例如 666.c
  1. $ vim 666.c
复制代码
(vim的使用可在我的另一篇博客有详细的叙述,这里不多在赘述)
插入一段代码。
  1. #include <stdio.h>
  2. main()
  3. {
  4.         int a,i;
  5.         a=6;
  6.         for(i=0;i<3;i++)
  7.         {
  8.                 printf("%d",a);
  9.         }
  10. }
复制代码


(每次我们用 cat 查看)

一.预处理

1.预处理通过对宏定义(像#define)进行展开,对头文件(像 stdio.h)进行展开,对条件进行(像ifdef)编译,展开所有宏,删除所有注释(像"//").预处理cpp把源代码,头文件预编成一个.i文件。(注意这时并不检查语法,所以即使有语法错误也不会报错。)
  2.命令:
  1. $ gcc -E (源文件名) -o (预处理文件名)
复制代码
或者:
  1. $ gcc (源文件名) > (预处理文件名)
复制代码
例如按666.c 来说,预处理时可以是 :
  gcc -E 666.c -o 666.i
  也可以是 gcc 666.c > 666.i


二. 编译

   1.编译也就是检查语法是否错误,将预处理过的文件编译成汇编文件。
   2.命令:
  1. $ gcc -S (源文件) -o (汇编文件)
复制代码
例如 gcc -S 666.i -o 666.s


三.汇编

1. 汇编也就是将汇编文件生成目标文件(二进制文件)通过汇编,文本代码变成了二进制代码。(二进制代码文件以.o为后缀名)。
2.命令:
  1. $ gcc -c (汇编文件) -o (目标文件)
复制代码
例如 gcc -c 666.s -o 666.o

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

四.链接

1. 链接找到依赖的库文件(静态与动态),将目标文件链接为可执行程序。
  1. $ gcc -c [目标文件] -o [可执行程序] -l[动态库名]
复制代码
假如没有动态库的话(一般)
直接
  1. $ gcc -c [目标文件] -o [可执行程序]
复制代码
例如 gcc -c 666.o -o 666
此时会生成可执行程序 666
如果想执行使用该命令:
  1. $ ./可执行程序
复制代码
其中./是在当前目录下的意思。
例如 ./666

(注意:在一般我们使用时 如果使用 gcc 可执行文件名,会默认生成a.out 可执行文件,这时我们直接执行它时用 ./a.out )
到此这篇关于Linux系统下gcc命令使用详解的文章就介绍到这了,更多相关Linux gcc命令内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!
                                                        
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
免责声明
1. 本论坛所提供的信息均来自网络,本网站只提供平台服务,所有账号发表的言论与本网站无关。
2. 其他单位或个人在使用、转载或引用本文时,必须事先获得该帖子作者和本人的同意。
3. 本帖部分内容转载自其他媒体,但并不代表本人赞同其观点和对其真实性负责。
4. 如有侵权,请立即联系,本网站将及时删除相关内容。
懒得打字嘛,点击右侧快捷回复 【右侧内容,后台自定义】
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

快速回复 返回顶部 返回列表