日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

gcc编译器用法

發布時間:2024/9/5 编程问答 34 豆豆
生活随笔 收集整理的這篇文章主要介紹了 gcc编译器用法 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

一個用c語言寫的程序把他編譯成計算機可執行的文件,一般有4個步驟

/*================================================================ * Copyright (C) 2018 . All rights reserved. * * 文件名稱:helloworld.c * 創 建 者:ghostwu(吳華) * 描 述:gcc編譯器用法演示 * ================================================================*/#include <stdio.h> #define HELLO "hello world!\n"int main(int argc, char *argv[]) {printf( HELLO ); return 0; }

1,預處理:這個步驟,主要是包含頭文件,展開宏定義

gcc -E helloworld.c -o helloworld.i

2,生成匯編代碼

gcc -S helloworld.i -o helloworld.s

3,編譯匯編

gcc -c helloworld.s -o helloworld.o

4,鏈接

gcc helloworld.o -o helloworld

通常寫完程序,我們用?gcc helloworld.c -o helloworld 直接完成以上四個步驟

?

gcc常用選項含義:

1. -o output_filename
確定可執行文件的名稱為output_filename。如果不給出這個選項,gcc就給出預設的可執行文件名a.out。

2. -c
只編譯,不鏈接成為可執行文件,編譯器只是由輸入的.c等源文件生成.o為后綴的目標文件。

3. -g
產生調試工具(gdb)所必要的符號信息,要想對編譯出的程序進行調試,就必須加入這個選項。

4. -ldirname
將dirname所指出的目錄加入到程序頭文件目錄列表中。

5. -Ldirname
將dirname所指出的目錄加入到庫文件的目錄列表中。

6.?-Wall
生成所有警告信息。

?

gcc編譯多個模塊

helloworld.h

1 ============================================================== 2 * Copyright (C) 2018 . All rights reserved. 3 * 4 * 文件名稱:helloworld.h 5 * 創 建 者:ghostwu(吳華) 6 * 描 述: 7 * 8 ================================================================*/ 9 10 #ifndef _HELLO_H_ 11 #define _HELLO_H_ 12 void say_hello( const char* name ); 13 #endif

helloworld.c

/*================================================================ * Copyright (C) 2018 . All rights reserved. * * 文件名稱:helloworld.c * 創 建 者:ghostwu(吳華) * ================================================================*/#include <stdio.h> #include "helloworld.h"void say_hello( const char* name ) {printf( "%s\n", name ); }

main.c

/*================================================================ * Copyright (C) 2018 . All rights reserved. * * 文件名稱:main.c * 創 建 者:ghostwu(吳華) * 描 述: * ================================================================*/#include "helloworld.h"int main(int argc, char *argv[]) {say_hello( "hello ghostwu" );return 0; }

編譯命令:

gcc helloworld.c main.c -o hello

?

打包靜態庫(就是一堆通用函數的集合,用.o文件打包):

1,首先生成.o文件

gcc -c helloworld.c -o helloworld.o

2,ar rcs libhello.a helloworld.o

r:替換? c:創建 s:保存

把helloworld打包成 libhello.a靜態庫

3,用靜態庫編譯 生成 可執行文件

gcc -Wall main.c libhello.a -o main

也可以使用l和L 選項

小寫的l: 指定庫文件名

大寫的L: 指定庫所在的路徑

gcc -Wall main.c -o main2 -lhello( 這種方式會報錯,在鏈接庫的時候,沒有用L指定路徑,默認情況下 不會在當前目錄查找靜態庫 )

gcc -Wall -L. main.c -o main2 -lhello( L后面跟個. 代表當前目錄下查找所鏈接的庫(libhello.so) ), -lhello: 省略lib和后綴(.so)

這個時候刪除靜態庫libhello.so,生成的main和main2文件,依然能執行,因為靜態庫已經被包含在可執行文件中

?

轉載于:https://www.cnblogs.com/ghostwu/p/8213864.html

總結

以上是生活随笔為你收集整理的gcc编译器用法的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 99re视频在线观看 | 国产在线欧美在线 | 亚洲欧洲在线观看 | а 天堂 在线 | 日韩一区二区影视 | 99热热久久 | 香蕉视频在线免费播放 | 中文字幕视频免费 | 久久国产激情视频 | 久久精品免费网站 | 久久亚洲影院 | 免费av网站观看 | 在线观看免费视频一区二区 | 114国产精品久久免费观看 | www超碰| 国产精品久久久久久免费播放 | 久久人人爽人人爽人人片av免费 | v在线| 91偷拍精品一区二区三区 | av一级在线观看 | 黄色网址在线免费观看 | 成熟的女同志hd | 强制高潮抽搐哭叫求饶h | 国产99久久久 | av资源库 | 色哟哟网站 | 成人午夜在线观看 | 久久成人a毛片免费观看网站 | 女人高潮被爽到呻吟在线观看 | 日韩av在线不卡 | 日韩在线免费播放 | 羞羞色视频 | 精品国产伦一区二区三区免费 | 亚洲第一免费 | 成人在线免费看视频 | 姐姐你真棒插曲快来救救我电影 | 亚洲最新在线观看 | 97caocao| 国产91小视频 | 免费观看nba乐趣影院 | 欧美a级黄色 | 国产精品久久久久久久久免费桃花 | 亚洲激情综合网 | 日日爱669| 国产手机av | 国产午夜无码精品免费看奶水 | 青青草伊人| 天美麻花果冻视频大全英文版 | 日韩亚射吧 | 波多野在线播放 | 国产一区亚洲 | youjizz亚洲| 青青草97 | 亚洲成人av综合 | 欧美日韩激情视频 | 中文字字幕第183页 欧美特级一级片 | 自拍av在线 | 亚洲成人精品网 | 成年人在线免费 | 91porny九色 | 久久超级碰碰 | 91视频综合 | 97九色| 黄色一级视频免费观看 | 国产成人精品在线 | 国产情侣酒店自拍 | 国色天香网站 | 伊人网亚洲 | 九一毛片| 黄色一级黄色片 | 精品一区二区三区四区视频 | 国产在视频线精品视频 | 久久精品人妻一区二区三区 | 国产91国语对白在线 | √天堂 | 久久艹艹| 中文字幕97 | 夜色成人网 | 免费黄网站在线看 | 99免费国产 | 精品人妻一区二区三区久久嗨 | 国产精久久久 | 中文字幕不卡 | 国产精品欧美激情在线播放 | 另类小说亚洲色图 | 黄色片在线免费观看 | 久久天天躁狠狠躁夜夜av | 88av.com| 欧美人体一区二区 | 娇妻被老王脔到高潮失禁视频 | 误杀1电影免费观看高清完整版 | 丰满少妇一级 | 91在线观看 | 欧美男女性生活视频 | 成人午夜精品视频 | 中文字幕不卡在线观看 | 午夜电影福利网 | 三级黄色在线播放 | 91综合色|