• <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            posts - 297,  comments - 15,  trackbacks - 0

            gcc/g++ 在執(zhí)行編譯時(shí),需要4步

              1.預(yù)處理,生成.i的文件[使用-E參數(shù)]

              2.將預(yù)處理后的文件不轉(zhuǎn)換成匯編語(yǔ)言,生成文件.s[使用-S參數(shù)]

              3.有匯編變?yōu)槟繕?biāo)代碼(機(jī)器代碼)生成.o的文件[使用-c參數(shù)]

              4.連接目標(biāo)代碼,生成可執(zhí)行程序[使用-o參數(shù)]

            -x language filename

              設(shè)定文件所使用的語(yǔ)言,使后綴名無(wú)效,對(duì)以后的多個(gè)有效.也就是根據(jù)約定C語(yǔ)言的后綴名稱(chēng)是.c的,而C++的后綴名是.C或者.cpp,如果你很個(gè)性,決定你的C代碼文件的后綴名是.pig 哈哈,那你就要用這個(gè)參數(shù),這個(gè)參數(shù)對(duì)他后面的文件名都起作用,除非到了下一個(gè)參數(shù)的使用。

            -ansi

              關(guān)閉gnu c中與ansi c不兼容的特性,激活ansi c的專(zhuān)有特性(包括禁止一些asm inline typeof關(guān)鍵字,以及UNIX,vax等預(yù)處理宏,

            -fno-asm

              此選項(xiàng)實(shí)現(xiàn)ansi選項(xiàng)的功能的一部分,它禁止將asm,inline和typeof用作關(guān)鍵字。

            -fno-strict-prototype

              只對(duì)g++起作用,使用這個(gè)選項(xiàng),g++將對(duì)不帶參數(shù)的函數(shù),都認(rèn)為是沒(méi)有顯式的對(duì)參數(shù)的個(gè)數(shù)和類(lèi)型說(shuō)明,而不是沒(méi)有參數(shù).而gcc無(wú)論是否使用這個(gè)參數(shù),都將對(duì)沒(méi)有帶參數(shù)的函數(shù),認(rèn)為城沒(méi)有顯式說(shuō)明的類(lèi)型

            -fthis-is-varialble

              就是向傳統(tǒng)c++看齊,可以使用this當(dāng)一般變量使用.

            -fcond-mismatch

              允許條件表達(dá)式的第二和第三參數(shù)類(lèi)型不匹配,表達(dá)式的值將為void類(lèi)型

              -funsigned-char

              -fno-signed-char

              -fsigned-char

              -fno-unsigned-char

              這四個(gè)參數(shù)是對(duì)char類(lèi)型進(jìn)行設(shè)置,決定將char類(lèi)型設(shè)置成unsigned char(前兩個(gè)參數(shù))或者 signed char(后兩個(gè)參數(shù))

            -include file

              包含某個(gè)代碼,簡(jiǎn)單來(lái)說(shuō),就是便以某個(gè)文件,需要另一個(gè)文件的時(shí)候,就可以用它設(shè)定,功能就相當(dāng)于在代碼中使#include<filename>

              例子用法:

              gcc hello.c -include /root/pianopan.h

              -imacros file

              將file文件的宏,擴(kuò)展到gcc/g++的輸入文件,宏定義本身并不出現(xiàn)在輸入文件中

              -Dmacro

              相當(dāng)于C語(yǔ)言中的#define macro

              -Dmacro=defn

              相當(dāng)于C語(yǔ)言中的#define macro=defn

              -Umacro

              相當(dāng)于C語(yǔ)言中的#undef macro

              -undef

              取消對(duì)任何非標(biāo)準(zhǔn)宏的定義

              -Idir

              在你是用#include"file"的時(shí)候,gcc/g++會(huì)先在當(dāng)前目錄查找你所制定的頭文件,如果沒(méi)有找到,他回到缺省的頭文件目錄找,如果使用-I制定了目錄,他回先在你所制定的目錄查找,然后再按常規(guī)的順序去找.對(duì)于#include<file>,gcc/g++會(huì)到-I制定的目錄查找,查找不到,然后將到系統(tǒng)的缺省的頭文件目錄查找

              -I-

              就是取消前一個(gè)參數(shù)的功能,所以一般在-Idir之后使用

              -idirafter dir

              在-I的目錄里面查找失敗,講到這個(gè)目錄里面查找.

              -iprefix prefix

              -iwithprefix dir

              一般一起使用,當(dāng)-I的目錄查找失敗,會(huì)到prefix+dir下查找

              -nostdinc

              使編譯器不再系統(tǒng)缺省的頭文件目錄里面找頭文件,一般和-I聯(lián)合使用,明確限定頭文件的位置

              -nostdin C++

              規(guī)定不在g++指定的標(biāo)準(zhǔn)路經(jīng)中搜索,但仍在其他路徑中搜索,.此選項(xiàng)在創(chuàng)建libg++庫(kù)使用

              -C

              在預(yù)處理的時(shí)候,不刪除注釋信息,一般和-E使用,有時(shí)候分析程序,用這個(gè)很方便的

              -M

              生成文件關(guān)聯(lián)的信息。包含目標(biāo)文件所依賴(lài)的所有源代碼

              你可以用gcc -M hello.c來(lái)測(cè)試一下,很簡(jiǎn)單。

              -MM

              和上面的那個(gè)一樣,但是它將忽略由#include<file>造成的依賴(lài)關(guān)系。

              -MD

              和-M相同,但是輸出將導(dǎo)入到.d的文件里面

              -MMD

              和-MM相同,但是輸出將導(dǎo)入到.d的文件里面

              -Wa,option

              此選項(xiàng)傳遞option給匯編程序;如果option中間有逗號(hào),就將option分成多個(gè)選項(xiàng),然后傳遞給會(huì)匯編程序

              -Wl.option

              此選項(xiàng)傳遞option給連接程序;如果option中間有逗號(hào),就將option分成多個(gè)選項(xiàng),然后傳遞給會(huì)連接程序.

              -llibrary

              制定編譯的時(shí)候使用的庫(kù)

              例子用法

              gcc -lcurses hello.c

              使用ncurses庫(kù)編譯程序

              -Ldir

              制定編譯的時(shí)候,搜索庫(kù)的路徑。比如你自己的庫(kù),可以用它制定目錄,不然編譯器將只在標(biāo)準(zhǔn)庫(kù)的目錄找。這個(gè)dir就是目錄的名稱(chēng)。

              -O0

              -O1

              -O2

              -O3

              編譯器的優(yōu)化選項(xiàng)的4個(gè)級(jí)別,-O0表示沒(méi)有優(yōu)化,-O1為缺省值,-O3優(yōu)化級(jí)別最高

              -g

              只是編譯器,在編譯的時(shí)候,產(chǎn)生條是信息。

              -gstabs

              此選項(xiàng)以stabs格式聲稱(chēng)調(diào)試信息,但是不包括gdb調(diào)試信息.

              -gstabs+

              此選項(xiàng)以stabs格式聲稱(chēng)調(diào)試信息,并且包含僅供gdb使用的額外調(diào)試信息.

              -ggdb

              此選項(xiàng)將盡可能的生成gdb的可以使用的調(diào)試信息.

              -static

              此選項(xiàng)將禁止使用動(dòng)態(tài)庫(kù),所以,編譯出來(lái)的東西,一般都很大,也不需要什么動(dòng)態(tài)連接庫(kù),就可以運(yùn)行.

              -share

              此選項(xiàng)將盡量使用動(dòng)態(tài)庫(kù),所以生成文件比較小,但是需要系統(tǒng)由動(dòng)態(tài)庫(kù).

              -traditional

              試圖讓編譯器支持傳統(tǒng)的C語(yǔ)言特性

            from:
            http://c.chinaitlab.com/ccjq/803616_2.html
            posted on 2010-03-19 09:23 chatler 閱讀(2398) 評(píng)論(0)  編輯 收藏 引用 所屬分類(lèi): makefile
            <2009年12月>
            293012345
            6789101112
            13141516171819
            20212223242526
            272829303112
            3456789

            常用鏈接

            留言簿(10)

            隨筆分類(lèi)(307)

            隨筆檔案(297)

            algorithm

            Books_Free_Online

            C++

            database

            Linux

            Linux shell

            linux socket

            misce

            • cloudward
            • 感覺(jué)這個(gè)博客還是不錯(cuò),雖然做的東西和我不大相關(guān),覺(jué)得看看還是有好處的

            network

            OSS

            • Google Android
            • Android is a software stack for mobile devices that includes an operating system, middleware and key applications. This early look at the Android SDK provides the tools and APIs necessary to begin developing applications on the Android platform using the Java programming language.
            • os161 file list

            overall

            搜索

            •  

            最新評(píng)論

            閱讀排行榜

            評(píng)論排行榜

            久久综合九色综合欧美狠狠| 少妇久久久久久久久久| AAA级久久久精品无码区| 香蕉久久一区二区不卡无毒影院| 免费精品99久久国产综合精品| 久久www免费人成精品香蕉| 久久天天躁狠狠躁夜夜不卡| 久久久久亚洲AV成人片| 国产成人无码精品久久久免费| 欧美激情精品久久久久久| 久久99精品久久只有精品| 欧美久久久久久午夜精品| 中文字幕无码精品亚洲资源网久久 | 狠狠色丁香久久婷婷综| 久久露脸国产精品| 狠狠色丁香久久综合婷婷| 偷偷做久久久久网站| 蜜桃麻豆www久久| 久久久高清免费视频| 国产成人精品久久亚洲高清不卡| 精品久久久久久久国产潘金莲| 久久最近最新中文字幕大全| 久久亚洲AV无码精品色午夜麻豆| 久久香蕉国产线看观看乱码| 国产免费福利体检区久久| 久久婷婷成人综合色综合| 久久久亚洲欧洲日产国码二区 | 精品国产乱码久久久久久郑州公司 | 综合久久一区二区三区 | www.久久99| 香蕉99久久国产综合精品宅男自 | 观看 国产综合久久久久鬼色 欧美 亚洲 一区二区 | 久久精品国产影库免费看| 久久久久亚洲国产| 久久精品国产亚洲网站| 亚洲精品无码久久久久| 亚洲伊人久久成综合人影院 | 88久久精品无码一区二区毛片| 久久综合香蕉国产蜜臀AV| 亚洲精品tv久久久久久久久 | 久久久久无码专区亚洲av|