gcc 简介

阿里云国内75折 回扣 微信号:monov8
阿里云国际,腾讯云国际,低至75折。AWS 93折 免费开户实名账号 代冲值 优惠多多 微信号:monov8 飞机:@monov6

一、gcc简介

gcc与g++当程序中出现using namespace std等带有c++特性的语句时如果用gcc编译时必须显式地指明这个程序要用c++编译库编译而g++可以直接编译。

二、gcc支持的文件

.cc语言的源程序

.C, c++的源程序

.ccc++的源程序

.cxx c++的源程序

.m Objective c的源程序

.i 经过预处理的c源程序

.ii 经过预处理的c++源程序

.s, 汇编语言的源程序

.S 汇编语言的源程序

.h 头文件

.o 目标文件

.a, 存档文件

三、gcc是高效的编译器

#include<stdio.h>intmain(){
    printf("Hello World!\n");
    return0;
}

g++ 编译该段代码后大小为4.6K

tc++3 编译该段代码后大小为7.8K

bc45编译该段代码后大小为53.8k

vc6编译该段代码后大小为184k

四、编译过程

1、用gcc编译程序时分为四个阶段

1预处理pre-processing

2编译compiling

(3)汇编assembling

(4)链接lingking

2、分步编译源程序

1预处理

gcc -E hello.c -o hello.i

(2)编译

gcc -S hello.c -o hello.s

(3)汇编

gcc -c hello.c -o hello.o

(4)链接

gcc hello.c -o hello

五、gcc的常用选项

1-c

通知gcc取消链接步骤即编译源码并在最后生成目标文件

2 -Dmacro

定义指定的宏使它能够通过源码中的#ifdef进行检验

3-LDIRNAME

将DIRNAME加入到库文件搜索的路径中

4-g

在可执行文件中包含标准调试信息

(5)-IDIRNAME

将DIRNAME加入到头文件搜索的路径中

6-llibrary

提示链接程序在创建最终可执行文件时包含指定的库

7-o,-o2,-o3

将优化状态打开该选项不能与-选项联合使用

8-S

要求编译程序生成来自源代码的汇编程序输出

9-wall

启动所有饿警报

10-E

仅执行预处理

11-Werror

在发送警报时取消编译操作即将警报看做是错误

12-w

禁止所有的警报

13-static

对库文件进行静态链接

14-ggdb

在可执行文件中包含只有gdb才能识别的大量调试信息

(15)-ansi

支持ansi/iso语法标准取消gnu所有与ansi冲突的语法扩展

16--pedantic

尽可能显示ansi/iso c标准列出的所有警告

17--pedantic-errors

尽可能显示ansi/iso c标准列出的所有错误

阿里云国内75折 回扣 微信号:monov8
阿里云国际,腾讯云国际,低至75折。AWS 93折 免费开户实名账号 代冲值 优惠多多 微信号:monov8 飞机:@monov6