Gcc的编辑连贯分为了四明升娱乐:

    1。期待,建造预编辑的证件(。证件):

        Gcc –E hello.c –o hello.i
2。编辑,建造的缀编法典(的证件):

        Gcc –S hello.i –o hello.s
三.拆卸,建造目的证件(.o证件):
Gcc –c hello.s –o hello.o
4。连结,建造可取得证件:
Gcc hello.o –o hello

    编辑成后,进入连结阶段。在这里有一个人要紧的打手势要求。:行使职责库。

朗读者可以检查即将到来的小按次。,在即将到来的按次中没稍微功用限界的printf手段,在预编辑成只包住行使职责的国务的,缺席限界行使职责的引起,这么,Where does the “printf” function be implemented? 最不可能性的的答案是:该体系已在库证件命名的引起。,在无论什么选定的的的时期,GCC会碰见默许的搜索途径/usr/lib体系,这是连结的库行使职责,这使得行使职责printf手段。,这是连结的功用。

    藏书普通分为静力学藏书和静态藏书两类。。一个人静力学库,编辑衔接,所稍微法典库证件添加到可取得证件,乃建造的证件更大。,但在运转时将不再需求库证件。。后缀普通是A。。相反,静态库,该库证件的法典不见得被添加到可取得证件时,李,但在按次运转时连结库证件使担负取得,这么大的可以节省体系本钱。静态库的流通后缀。,如上所述,是静态库。。GCC默许机遇下在编辑时运用静态库。

    结果你想一步到位的全工序:

       gcc hello.c -o hello

那就够了

    gcc简介
GCC(GNU Linux体系 C GNU编辑器)是令人敬畏的的、一种机能优胜的多平台编辑器,是GNU的代表著作经。。gcc是可以在多种硬化体平台上编辑出可取得按次的超等的编辑器,的几何平均性能与普通的编辑器相形。GCC编辑器可以C、C 说话源按次、按次按次部和目的编辑器、衔接成可取得证件,结果你不给可取得证件的名字,GCC将建造一个人证件。在Linux体系,可取得证件后缀指责一致的。,从证件体系属性来区别可取得及非取得。GCC的后缀按类别区别出口证件,在这里笔者绍介GCC依照商定的判定的偏爱地。
C为后缀的证件,C说话源法典证件;
a作为后缀证件,是一种由目的证件库证件;
.C,.cc或.cxx 为后缀的证件,C 源法典证件;
h作为后缀证件,按次中包住的头证件;
.i 为后缀的证件,c源法典证件已被处置;
二证件后缀,是一个人期待的C 源法典证件;
m证件的后缀,Objective-C源法典证件;
O为后缀的证件,是编辑后的目的证件;
证件后缀,是缀编说话源法典证件;
证件后缀,缀编说话源法典证件是事先编辑的吗?。

    GCC的手段工序
公开乎笔者转学GCC编辑器的C说话,但工序运用GCC的C源法典建造可取得证件,只要阅历四彼此的关系的明升娱乐∶期待(也称预编辑,期待)、缀编(缀编)、缀编按次(缀编)和衔接(连结)。命令GCC率先转学CPP期待。,在期待工序,包住源法典证件(包含)、预编辑陈述(如宏限界)剖析。当时的,CC1转学编辑,即将到来的阶段建造目的证件的,本我的后缀。缀编工序是反向移动缀编说话的明升娱乐,呼叫任务,普通来讲,的缀编说话源法典证件后缀和拆卸、.s为后缀的缀编说话证件经预编辑和缀编过后都建造以.o为后缀的目的证件。当所稍微目的证件建造,GCC叫LD取得最不可能性的的枢要,这一阶段是衔接。在衔接阶段,所稍微目的证件被为供应在可取得证件中间的有关性地位,同时,库行使职责转学的按次也从他们的标明里。

    gcc的根本用法和选择能力
当运用GCC编辑器时,笔者应该装备一连串叫来的转学限制因素和证件名。转学限制因素GCC编辑器约超越100,笔者的弥撒曲限制因素可能性不快用于,在这里仅仅最根本的、最经用的限制因素。
GCC是最根本的用法:GCC [选择能力] [证件名]
限制因素选择能力是编辑器所需,证件名装备了相互关系的证件名。
-c,Only compiling,不要衔接成一个人可取得证件,仅仅出口的编辑器,C源法典证件后缀T O建造。,通经用于编辑不包住主按次的子按次证件。
-o output_filename,决定出口证件的清晰度是output_filename,同时,此清晰度不克不及是证件名和源名。。结果不供应此选择能力,GCC将装备默许的可取得证件。。
-g,建造用符号代表调试器(GNU GDB)用符号代表所需要的知识,要调试的源法典,笔者应该把即将到来的选择能力。
-O,优化组合按次编辑、衔接,运用此选择能力,完全的源法典将被编辑、在衔接工序中间的优化组合处置,的可取得证件,建造取得性能可以预付款,无论如何,编辑、衔接的突如其来的强劲气流绝对较慢。
-O2,比最适宜条件O编辑器、衔接,自然,编辑器、衔接工序会变慢。
-Idirname,添加编目录标志编目录的证件列表的航向,用于在编辑工序中间的限制因素。
C按次中间的头证件包住两例
一)#包含
B)#包含 “”
在内侧地,一个人同类项的运用< >),B类运用双引号 ”)。一级,期待按次cpp在体系预安装包住证件编目录(如/usr/include)中搜索有关的的证件,关于B类,现在的编目录搜索中间的CPP头证件,即将到来的选择能力的功能是告知CPP,结果该证件公开现在的编目录中找到,选定的查找编目录编目录。在按次设计,结果笔者需求的这种包住证件使著名散布在不相同的编目录中,你需求运用我的选择给一个人一个人的搜索途径。
-Ldirname,将dirname所标志的编目录混合到按次行使职责标明库证件的编目录列表中,用于衔接的工业技术限制因素。预安装社会地位下,衔接按次ld在体系的预安装途径中(如/usr/lib)找寻所需求的标明库证件,此选择能力告知连结器。,高音部去命名的编目录我找到,当时的到体系默许的搜索途径,结果行使职责是多个编目录,你需求轮番运用即将到来的选择能力。,装备有关的的希腊字母第12字编目录。用土覆盖,在衔接的时分,名字中间的使担负藏书,藏书谎话默许编目录或编目录选择能力褒奖。像,我说=mathematics库衔接。笔者短文绍介了GCC编辑器是最经用的功用,更项目的知识可以在Linux体系的在线帮忙过。
准许笔者的C说话源法典证件的按次清晰度,建造一个人可取得证件,最简略的
方式是
gcc
这时,预编辑、编辑一个人完成或结束的衔接,默许建造一个人称为可取得证件的体系。,关于复杂的机遇,像,有多个源法典证件、需求衔接的标明或静止特殊要求,呼吁授予选择正确的的限制因素。看一个人简略的要求。。该按次的源法典由两个证件结合 和结合,运用体系供应的按次的=mathematics库,同时,该可取得证件,估计将装备结帐,当编辑器命令可以
gcc -lm -o test
在内侧地,LM是衔接体系的=mathematics库,即将到来的工序可以在图12-1作为示范。。

Leave a Comment

电子邮件地址不会被公开。 必填项已用*标注