女人自慰AV免费观看内涵网,日韩国产剧情在线观看网址,神马电影网特片网,最新一级电影欧美,在线观看亚洲欧美日韩,黄色视频在线播放免费观看,ABO涨奶期羡澄,第一导航fulione,美女主播操b

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

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

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

gcc的使用方法以及Linux gcc 的常用選項(xiàng)

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

gcc的使用方法

gcc 【選項(xiàng)】文件名

gcc常用選項(xiàng)

gcc

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

-o please the output into

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

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

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

-S compile only:do not assemble or link

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

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

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

方式一:

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

方式二:

gcc -E -ohello.ihello.c

gcc -S -ohello.shello.i

gcc -c -ohello.ohello.s

gcc -ohellohello.o

.o:objet file (OBJ文件)

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

方式三:

gcc-c-ohello.ohello.c

gcc -o hello hello

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

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

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

補(bǔ)充:

gcc -c -o hello.o hello.c

gcc -o hello hello.o

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

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

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

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

fqj

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

    關(guān)注

    87

    文章

    11454

    瀏覽量

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

    關(guān)注

    1

    文章

    1654

    瀏覽量

    49857
收藏 人收藏

    評論

    相關(guān)推薦
    熱點(diǎn)推薦

    FX3 SDK安裝包內(nèi)ARM GCC使用版權(quán)是如何約定的?

    FX3 SDK安裝包內(nèi)ARM GCC使用版權(quán)是如何約定的,謝謝!
    發(fā)表于 05-09 08:16

    使用gcc編譯成功后,如何燒錄?

    使用gcc編譯成功后,如何燒錄。 scons 命令嗎?
    發(fā)表于 04-30 07:13

    BSP36 gcc_11.3.0編譯錯(cuò)誤的原因?怎么解決?

    /gcc/11.3.0-r0/recipe-sysroot-native/usr/bin/aarch64-fsl-linux/../../libexec/aarch64-fsl-linux/g
    發(fā)表于 03-27 08:19

    請問基于GCC編譯器的initcall在STM32如何實(shí)現(xiàn)?

    請問各位基于GCC編譯器的initcall在STM32如何實(shí)現(xiàn)?有哪位實(shí)現(xiàn)了嗎?
    發(fā)表于 03-13 06:24

    ubuntu24.04上安裝gcc工具鏈出現(xiàn)報(bào)錯(cuò)怎么解決?

    虛擬機(jī)安裝的ubuntu24.04.1,默認(rèn)gcc版本13,從芯來官網(wǎng)下載了對應(yīng)的gcc版本的工具鏈,到最后編譯報(bào)錯(cuò): riscv64-unknown-linux-gnu-gcc: fatal
    發(fā)表于 03-07 12:39

    HBird SDK設(shè)置構(gòu)建環(huán)境時(shí),顯示找不到riscv-nuclei-elf-gcc,為什么?

    如圖,HBird SDK設(shè)置構(gòu)建環(huán)境時(shí),顯示找不到riscv-nuclei-elf-gcc。 后續(xù)編譯HelloWorld示例程序時(shí),顯示error如下 請問是安裝工具gcc的問題嗎,文件夾目錄結(jié)構(gòu)如下 初學(xué)者不太會,多謝大佬指點(diǎn)! :)
    發(fā)表于 03-07 09:51

    深入探索GCC的attribute屬性

    如果經(jīng)常看Linux源碼,一定會見過 attribute 屬性,他在 Linux 里面出現(xiàn)的很多。 attribute 是 gcc 的擴(kuò)展功能,它不屬于標(biāo)準(zhǔn)C語言。 使用 attribute 可以
    的頭像 發(fā)表于 02-13 10:05 ?304次閱讀

    全球計(jì)算聯(lián)盟GCC成立,安謀科技牽頭編寫白皮書發(fā)布

    ,重磅發(fā)布了包括2部白皮書、2部研究報(bào)告、1項(xiàng)標(biāo)準(zhǔn)項(xiàng)目合作成果以及案例集等在內(nèi)的一系列豐碩成果。作為GCC理事單位及白皮書牽頭參編的重要代表之一,安謀科技(中國)有限公司(簡稱“安謀科技”)受邀出席此次盛會,發(fā)表了主旨演講,并參與了
    發(fā)表于 01-13 14:55 ?115次閱讀
    全球計(jì)算聯(lián)盟<b class='flag-5'>GCC</b>成立,安謀科技牽頭編寫白皮書發(fā)布

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

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

    MSP430 GCC用戶指南

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

    Kali Linux常用工具介紹

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

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

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

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

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

    常用編輯器之GCC編譯器

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

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

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