gcc基本使用

gcc的安装

CentOS 版本的可直接运行指令 yum install gcc

gcc基本使用

GNU cc(通常称为gcc)是GNU羡项目的编译器,它能够编译C、C++语言编写程序。
gcc是区分拓展名的,.c文件,gcc就会用c语言的规范去编译,.cpp的文件,gcc就会用c++语言的规范去编译。

  • 使用gcc
    使用gcc,程序员可以对编译过程有更多的控制,编译过程分为3个阶段。
    — 预处理
    — 汇编
    — 链接
    在这里插入图片描述

  • gcc的编译和运行
    首先,创建一个Hello.c文件
    在这里插入图片描述
    在命令行中键入命令编译这段程序:
    gcc Hello.c
    gcc在不加任何参数编译的时候,生成的可执行程序名字叫a.out
    gcc -o Hello Hello.c
    这行命令告诉gcc对源程序Hello.c进行编译和链接,并使用参数-o指定创建名为Hello的可执行程序。整个过程是分步进行的,即预编译源代码》》编译目标代码》》链接程序
    (注意:Linux下的可执行程序的拓展名不是.exe,且很多情况下不需要扩展名)
    在命令行中键入命令运行这段程序:
    在当前文件目录下,运行可执行文件用 ./Hello
    图例如下:
    在这里插入图片描述

  • 预编译
    -E 代表预编译
    gcc -o Hello01.c -E Hello.c
    表示:预编译Hello.c生成一个Hello01.c文件
    预编译就是把#include包含的头文件内容替换到.c或者.cpp文件中;将#define中的宏替换到.c或者.cpp文件中
    在这里插入图片描述

  • 编译
    -c代表编译
    gcc -o Hello.o -c Hello01.c
    表示:编译Hello.c,但不链接,编译输出到Hello.o文件中
    在这里插入图片描述

  • 链接
    -命令(没有参数代表链接)
    gcc -o hello hello.o
    表示:链接源程序Hello.o,生成可执行程序Hello
    ldd命令的使用:ldd 可执行程序名称可查看程序调用了什么库
    在这里插入图片描述

  • 运行事项

  • 如何让Linux在当前目录下寻找可执行程序:
    1、回到宿主目录(直接敲cd命令可回到用户宿主目录)
    2、打开宿主目录下的用户配置文件 “.bash_profile” 在PATH后面追加":.",保存.bash_profile,退出
    在这里插入图片描述
    3、让修改的配置文件立即生效 . .bash_profile注意两点之间有空格
    在这里插入图片描述

gcc常用选项

参数含义
-o filename输出文件名,如果没有指定filename,默认为a.out
-c只编译不链接
-E预编译
-g包含调试信息
-l链接指定的库文件
-O优化编译后的代码
-w关闭所有警告信息
-Wall开启所有警告信息

一般编译代码的时候一般加 -Wall参数
想了解gcc的所有选项,可以用man gcc

  • gcc 编译初语言和c++的区别
    对于c语言和c++语言,gcc编译完的目标代码是不同的,最大的区别在于c++会修改编译后的变量以及函数各种标号的名称。
    nm命令的用法:
    nm 可执行程序名称(查看可执行内部的标号,函数名等信息)
    gcc默认路径c的标准库,并不链接c++标准库
    如果要链接c++程序,需要加上参数-lstdc++
    如果编译c语言文件,使用gcc; 如果编译c++语言文件,使用g++;g++是gcc的c++编译器
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值