色哟哟视频在线观看-色哟哟视频在线-色哟哟欧美15最新在线-色哟哟免费在线观看-国产l精品国产亚洲区在线观看-国产l精品国产亚洲区久久

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

gcc的使用方法以及Linux gcc 的常用選項

嵌入式星球 ? 來源:嵌入式星球 ? 作者:嵌入式星球 ? 2020-10-22 14:42 ? 次閱讀

gcc的使用方法

gcc 【選項】文件名

gcc常用選項

gcc

-v: 查看gcc編譯器的版本,顯示gcc執(zhí)行時的詳細過程

-o please the output into

指定文件名為file,這個名稱不能和源文件名相同

-E preprocess only :do not compile ,assemble or link

只預(yù)處理 ,不會編譯,匯編,鏈接

-S compile only:do not assemble or link

只編譯,不會編譯,匯編,鏈接

//==============================================================

gcc -v :查看gcc編譯器的版本

方式一:

gcc hello.c 輸出一個./a.out,然后./a.out來執(zhí)行這個應(yīng)用程序。gcc -ohello hello.c輸出hello ,然后./hello 來執(zhí)行這個程序。

方式二:

gcc -E -ohello.ihello.c

gcc -S -ohello.shello.i

gcc -c -ohello.ohello.s

gcc -ohellohello.o

.o:objet file (OBJ文件)

小結(jié):1)輸入文件的后綴名和選項共同決定gcc到底執(zhí)行哪些操作;2)在編譯過程中,除非是使用了-E,-S,-c選項(或者編譯過程中出錯阻止了編譯過程否則最后的步驟都是鏈接)。

方式三:

gcc-c-ohello.ohello.c

gcc -o hello hello

gcc 會對.c文件默認進行預(yù)處理操作,-c再來指明編譯,匯編,從而得到了.o文件

再來通過gcc -o hello hello.o 將.o文件進行鏈接,得到可執(zhí)行應(yīng)用程序

//======================================================

補充:

gcc -c -o hello.o hello.c

gcc -o hello hello.o

gcc會對.c文件默認進行預(yù)處理操作,-c再來指明編譯,匯編從而得到.o文件。再通過gcc -o hello hello.o將.o文件進行鏈接,從而得到可執(zhí)行文件。鏈接就是將匯編生成的OBJ文件,系統(tǒng)庫的OBJ文件,庫文件鏈接起來。最終生成可以在特定平臺的可執(zhí)行程序。

crtl.o ,crti.o ,crtbegin.o , crth.o是加入的系統(tǒng)標準啟動文件,對于一般的應(yīng)用程序,這些啟動是必須的。

-lc :鏈接libc庫文件, 其中l(wèi)ibc庫文件中就實現(xiàn)了printf等函數(shù)

gcc -v -nostdlib -ohello hello.o會提示因為沒有鏈接系統(tǒng)標準啟動文件和標準庫文件,而鏈接失敗。這個 -nostdlib選項常用于裸機的/boot loader,linux內(nèi)核等程序,因為他們不需要啟動文件,標準庫文件。一般應(yīng)用程序才需要系統(tǒng)標準啟動文件和標準庫文件 。裸機/boot loader,linux內(nèi)核等不需要啟動文件,標準庫文件動態(tài)鏈接使用動態(tài)鏈接庫進行鏈接,生成的程序執(zhí)行的時候需要加載所需的動態(tài)庫才能運行動態(tài)鏈接生成的程序體積較小,但是必須依賴所需要的動態(tài)庫,否則無法執(zhí)行靜態(tài)鏈接使用靜態(tài)庫進行鏈接,生成的程序包含程序運行所需要的全部庫,可以直接運行,不過靜態(tài)鏈接生成的程序體積較大。

fqj

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • Linux
    +關(guān)注

    關(guān)注

    87

    文章

    11292

    瀏覽量

    209331
  • 編譯器
    +關(guān)注

    關(guān)注

    1

    文章

    1623

    瀏覽量

    49108
收藏 人收藏

    評論

    相關(guān)推薦

    分享關(guān)于編譯器的科普

    ? Clang和GCC的主要區(qū)別如下所示: Clang比GCC編譯用的時間更短,包括預(yù)處理、語法分析、解析、語義分析、抽象語法樹生成的時間。 Clang比GCC的內(nèi)存占用更小。 Clang生成的中間
    的頭像 發(fā)表于 12-09 09:49 ?84次閱讀

    MSP430 GCC用戶指南

    電子發(fā)燒友網(wǎng)站提供《MSP430 GCC用戶指南.pdf》資料免費下載
    發(fā)表于 12-05 14:51 ?0次下載
    MSP430 <b class='flag-5'>GCC</b>用戶指南

    Kali Linux常用工具介紹

    Kali Linux 虛擬機中自帶了大量滲透測試工具,涵蓋了信息收集、漏洞利用、口令破解、漏洞掃描等多個方面。 以下是按分類簡要介紹一部分常用工具的使用方法使用方法只能當做參考,*
    的頭像 發(fā)表于 11-11 09:29 ?456次閱讀

    linux驅(qū)動程序的編譯方法有哪兩種

    Collection)或其他C/C++編譯器來編譯源代碼文件。這種方法較為原始,需要開發(fā)者手動指定編譯器選項、包含路徑、庫文件等。然而,在Linux驅(qū)動開發(fā)中,由于驅(qū)動需要與內(nèi)核緊密集成,直接使用
    的頭像 發(fā)表于 08-30 14:39 ?643次閱讀

    嵌入式學(xué)習-常用編輯器之GCC編譯器

    很多編譯控制選項,使得GCC可以根據(jù)不同的參數(shù)進行不同的編譯處理,我們簡單介紹一些常用的基本控制選項。 3、GCC的基本使用我們現(xiàn)在以我們學(xué)
    發(fā)表于 08-27 10:17

    常用編輯器之GCC編譯器

    :~$ sudo apt install gcc2、GCC的編譯選項GCC的基本用法是:gcc [選項
    發(fā)表于 08-24 11:05

    淺談錫膏的儲存及使用方法

    錫膏(焊錫膏)是電子組裝過程中常用的材料,它的儲存和使用方法對保證焊接質(zhì)量和性能至關(guān)重要。以下是詳細的儲存及使用方法
    的頭像 發(fā)表于 06-27 10:02 ?869次閱讀

    Aurix development studio是否支持GCC調(diào)試器?

    當我嘗試使用 Aurix development studio 調(diào)試 Aurix 示例時,我發(fā)現(xiàn)只有兩個選項 TASKING C/C++ 調(diào)試器 winIDEA 調(diào)試器 我的問題是,GCC 調(diào)試器是否支持? 如果支持,如何使用?
    發(fā)表于 05-20 06:57

    芯海應(yīng)用筆記:通用 MCU 基于 GCC 編譯開發(fā)應(yīng)用

    本應(yīng)用筆記旨在幫助指導(dǎo)用戶針對芯海通用 MCU 基于 GCC 環(huán)境的快速開發(fā)。芯海科技通用 MCU 提供的 pack 開發(fā)包都是僅支持芯海 CSU、MDK 或 IAR 通用集成的 IDE 工具,如果
    發(fā)表于 05-16 11:47

    請問keil編寫的BootLoader可以跳轉(zhuǎn)到GCC編寫的APP里嗎?

    keil編寫的BootLoader 可以跳轉(zhuǎn)到 GCC編寫的APP里嗎?
    發(fā)表于 04-18 07:00

    嵌入式Linux C語言編程程序調(diào)試與宏定義

    Linux使用gcc編譯程序的時候,對于調(diào)試的語句還具有一些特殊的語法。gcc編譯的過程中,會生成一些宏,可以使用這些宏分別打印當前源文件的信息,主要內(nèi)容是當前的文件、當前運行的函數(shù)和當前的程序行。
    發(fā)表于 03-01 11:41 ?998次閱讀

    AURIX? Development Studio使用HighTec的gcc,無法生成.map的原因?

    您好, 目前, AURIX? Development Studio 使用 HighTec 的 gcc,可以生成 .hex, 但無法生成 .map
    發(fā)表于 02-27 06:33

    為外部GCC配置ADS構(gòu)建項目時出錯怎么解決?

    我已經(jīng)為外部GCC配置了ADS來構(gòu)建項目,我正在使用Gcc編譯器。 當我使用此配置進行構(gòu)建時,它給出了錯誤,我附加了錯誤快照,我使用“-mtc18”檢查了配置及其默認值,我們?nèi)绾?CAN 更改此配置。 此配置是為使用具有相同芯片組的同一主板而創(chuàng)建的,并且使用默認配置。 還
    發(fā)表于 01-30 06:29

    KEIL uVision5包含TLx493庫后cmsis_gcc模塊中出現(xiàn)許多錯誤是為什么?

    在 uVision5 KEIL (項目的其余部分在那里完成),并且在正確設(shè)置包含路徑后,我在cmsis_gcc中留下了多個錯誤: C: /users/Alex/Appdata/local/arm/packs/arm
    發(fā)表于 01-19 06:59

    make、make all和make clean的使用方法

    剛接觸Linux,認為直接make后就完成了編譯,沒想到編譯出的結(jié)果存在很大問題,原來是make、make all和make clean的使用方法不對。
    的頭像 發(fā)表于 01-05 12:32 ?1940次閱讀
    主站蜘蛛池模板: 无套暴躁白丝秘书| 中文字幕亚洲欧美日韩2019| 最近中文字幕2019免费版| 大香伊人久久| 久久久久综合网久久| 十分钟免费观看高清视频大全| 中国老太60old mantv| 国产亚洲免费观看| 日韩精品一区二区三区AV在线观看| 中文成人在线视频| 国产中文字幕免费观看| 日久精品不卡一区二区| 99国产在线视频有精品视频| 后入到高潮免费观看| 午夜DJ国产精华日本无码| caoporn 超碰在线视频| 久久综合中文字幕佐佐木希| 亚洲AV人无码综合在线观看蜜桃| 成年视频国产免费观看| 棉签和冰块怎么弄出牛奶视频| 亚洲乱码一区二区三区香蕉| 国产精品久久久久激情影院| 人曽交Z00Z0OA片| 99精品在线观看| 麻豆成人久久精品二区三区网站| 亚洲精品无码国产爽快A片百度 | 亚洲AV国产国产久青草| 成人影片迅雷下载| 欧美多人群p刺激交换电影| 最近最新的日本字幕MV| 久久国产露脸老熟女熟69| 亚洲国产欧美日本大妈| 国产乱码一区二区三区| 少妇精油按摩| 广播电台在线收听| 色99久久久久高潮综合影院| 爱穿丝袜的麻麻3d漫画acg| 欧美日韩亚洲综合2019| 99久久精品国产国产毛片| 免费的av不用播放器的| 最新国产精品视频免费看|