<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    ivaneeo's blog

    自由的力量,自由的生活。

      BlogJava :: 首頁 :: 聯系 :: 聚合  :: 管理
      669 Posts :: 0 Stories :: 64 Comments :: 0 Trackbacks
    例如,如果已經在/home/fred/include 下保存了自定義的頭文件,那么為了讓gcc能夠找到它們,可按下面的例子使用-I選項:
    $gcc myapp.c -I /home/fred/include -o myapp
    -L選項對庫文件起的作用和-I選項告訴gcc把DIRNAME添加到庫文件搜索路徑里,要保證DIRNAME比標準位置先被搜索.
      假設讀者需要測試一個新的編程庫libnew.so,當前它保存在/home/fred/lib下(.so是共享庫文件的標準擴展名).為了鏈接庫文件,gcc命令行應與下面類似:
    $gcc myapp.c -L/home/fred/lib -lnew -o myapp
    -L/home/fred/lib結構讓gcc先在/home/fred/lib下查找庫文件,然后再到默認的庫文件搜索路徑下進行查找.-l選項使得鏈 接程序使用指定的函數庫中的目標代碼,也就是本例中的libnew.so.把函數庫命名為lib{名字}是UNIX的約定,與許多其他編譯器一樣,gcc 也遵循此約定.如果忘了使用-l選項,則與庫的鏈接將失敗,并且gcc產生錯誤,說明程序中引用了未定義的函數名.
    默認情況下,gcc使用共享庫進行鏈接,所以在需要鏈接靜態庫時必須使用-static選項來保證只使用靜態庫.
    $gcc cursesapp.c -lncurses -static -o cursesapp
    在鏈接靜態庫時,可執行程序的大小比鏈接共享庫要達很多.使用共享庫時,程序所使用的代碼是在運行時動態鏈接,而不是在編譯時靜態鏈接,因此,如果所需要的共享庫沒有在用戶系統中安裝,運行就會失敗.
    posted on 2005-08-04 22:02 ivaneeo 閱讀(2808) 評論(1)  編輯  收藏 所屬分類: gcc小試牛力

    Feedback

    # re: gcc函數庫和包含文件 2007-09-24 16:35
    請問下 $gcc myapp.c -I /home/fred/include -o myapp
    如果是有兩個文件夾怎么辦?有分號民分隔?
    $gcc myapp.c -I /home/fred/include;/home/fred/include -o myapp




    郵件 yu200205@126.com  回復  更多評論
      

    主站蜘蛛池模板: 国内精品乱码卡1卡2卡3免费| 国产免费AV片在线观看| 成人免费a级毛片无码网站入口 | 91精品国产亚洲爽啪在线影院| 亚洲天堂免费在线视频| 久久99亚洲综合精品首页| 日韩久久无码免费毛片软件| 亚洲AV无码不卡在线观看下载| 噜噜噜亚洲色成人网站| 又粗又硬免费毛片| 一级黄色片免费观看| 亚洲区小说区图片区QVOD| 免费人成黄页在线观看日本| 亚洲AV美女一区二区三区| 99ee6热久久免费精品6| 久久精品国产亚洲av麻豆蜜芽 | 无码国产精品一区二区免费vr| 亚洲国产精品不卡在线电影| 中文字幕在线免费观看| 亚洲jjzzjjzz在线观看| 国产成人精品免费视频软件| 国产97视频人人做人人爱免费| 亚洲精品亚洲人成人网| 啦啦啦完整版免费视频在线观看 | 黄人成a动漫片免费网站| JLZZJLZZ亚洲乱熟无码| 日本黄色动图免费在线观看| 亚洲成人一级电影| 四虎成人精品在永久免费| 韩日电影在线播放免费版| 2020年亚洲天天爽天天噜| 四虎精品亚洲一区二区三区| 免费h视频在线观看| 久久精品国产亚洲AV忘忧草18| 亚洲精品WWW久久久久久| 野花香高清在线观看视频播放免费| 亚洲最大中文字幕| 亚洲精品国产精品乱码不卞| 秋霞人成在线观看免费视频| 亚洲日韩在线中文字幕综合| 亚洲va久久久噜噜噜久久|