gcc常用】的更多相关文章

GCC常用命令行一览表 这些常用的 gcc/g++ 命令行参数,你都知道么?1. gcc -E source_file.c-E,只执行到预编译.直接输出预编译结果. 2. gcc -S source_file.c -S,只执行到源代码到汇编代码的转换,输出汇编代码. 3. gcc -c source_file.c-c,只执行到编译,输出目标文件. 4. gcc (-E/S/c/) source_file.c -o output_filename-o, 指定输出文件名,可以配合以上三种标签使用.-…
GCC--GNU C Compiler c语言编译器(远不止c语言) 介绍: 作为自由软件的旗舰项目,Richard Stallman 在十多年前刚开始写作 GCC 的时候,还只是把它当作仅仅一个C 程序语言的编译器:GCC 的意思也只是 GNU C Compiler 而已.经过了这么多年的发展,GCC 已经不仅仅能支持 C 语言:它现在还支持 Ada 语言,C++ 语言,Java 语言,Objective C 语言,Pascal 语言,COBOL 语言,以及支持函数式编程和逻辑编程的 Merc…
一.程序编译过程 程序编译的时候,要分四个阶段 : 1.预处理阶段,完成宏定义和include文件展开等工作: 2.根据编译参数进行不同程度的优化,编译成汇编代码: 3.用汇编器把汇编代码进一步生成目标代码: 4.用连接器把生成的目标代码和系统或用户提供的库连接起来,生成可执行文件: 二.gcc/g++的编译过程 1.预处理,不生成文件 [预处理器cpp] 2.将预处理后的文件转换成汇编语言,生成.s的文件 [编译器egcs] 3.由汇编变为目标代码(机器代码)生成.o的文件 [汇编器as] 4…
gcc是一种C编译器,这次我们根据书上的代码尝试着使用它. 使用之前,先补充前置知识.编译器将源代码转换为可执行代码的流程:首先,预处理器对源代码进行处理,将#define指定的宏进行替换,将#include包含的文件插入,随后,编译器生成源文件对应的汇编代码,以.s结尾.然后汇编器会将汇编代码转换为机器代码,以.o结尾,最后,链接器将多个机器代码(如果有多个的话)以及代码中用到的库函数(如printf)合并,产生可执行文件. 若要比较详细地了解gcc常用参数,可以参考这篇文章: https:/…
gcc - GNU project C and C++ compiler   gcc [option] file...            preprocessing         compilation               assembly       linking .c(with macros)--->.c(without macros)--->assembler input file--->object file--->executable file   -E,…
1,gcc与g++的问题: 1.后缀为.c的,gcc把它当作是C程序,而g++当作是c++程序:后缀为.cpp的,两者都会认为是c++程序. 2.编译阶段,g++会调用gcc,对于c++代码,两者是等价的,但是因为gcc命令不能自动和C++程序使用的库联接,所以通常用g++来完成链接. 当我们常规使用gcc编译一个程序时,他通常执行4个步骤:预编译,编译,汇编,连接. 当然我们可以通过指定某个选项来使它停止在某个步骤上. 指定GCC进行的操作的选项 -E :让GCC仅进行预处理:得到 .i 文件…
“-Wall”选项打开所有最常用到的编译警告,强烈建议打开,可以捕捉到许多在C编程中最常发生的错误. “-o”选项来为可执行文件指定一个不同的输出文件. “-c”用于把源码文件编译成对象文件. 对象文件包含的是机器码,其中任何对在其他文件中的函数(或变量)的内存地址的引用都留着没有被解析.这样就允许在互相之间不直接引用的情况下编译各个源代码文件.链接器在生成可执行文件时会填写这些还缺少的地址,然后把所有的对象文件组合在一起生成单个的可执行文件.当用“-c”来编译时,编译器会自动生成与源文件同名,…
简介gcc and g++现在是gnu中最主要和最流行的c & c++编译器 .gcc/g++在执行编译工作的时候,总共需要以下几步:1.预处理,生成.i的文件[预处理器cpp]2.将预处理后的文件不转换成汇编语言,生成文件.s[编译器egcs]3.有汇编变为目标代码(机器代码)生成.o的文件[汇编器as]4.连接目标代码,生成可执行程序[链接器ld] GCC能够处理的后缀有:a. *.c *.C (C语言)b. *.cxx *.cc (C++语言)c. *.m (面向对象的C)d. *.i (…
转载:http://www.cnblogs.com/zhangsir6/articles/2956798.html 简介gcc and g++现在是gnu中最主要和最流行的c & c++编译器 .gcc/g++在执行编译工作的时候,总共需要以下几步:1.预处理,生成.i的文件[预处理器cpp]2.将预处理后的文件不转换成汇编语言,生成文件.s[编译器egcs]3.有汇编变为目标代码(机器代码)生成.o的文件[汇编器as]4.连接目标代码,生成可执行程序[链接器ld] GCC能够处理的后缀有:a.…
前言: GCC 原名为 GNU C 语言编译器(GNU C Compiler),因为它原本只能处理 C语言.GCC 很快地扩展,变得可处理 C++.后来又 扩展能够支持更多编程语言,如Fortran.Pascal.Objective-C.Java.Ada.Go以及各类处理器架构上的汇编语言等,所以改 名GNU编译器套件(GNU Compiler Collection).(百度百科,想了解自己查询) 一.GCC程序的编译过程大概分四个阶段 预处理(Pre-Processing) 编译(Compil…