• <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>

            天下

            記錄修行的印記

            ldconfig和ldd用法

            ldconfig和ldd用法

            一、ldconfig

            ldconfig --help
            Usage: ldconfig [OPTION...]
            Configure Dynamic Linker Run Time Bindings.

              -c, --format=FORMAT        Format to use: new, old or compat (default)
              -C CACHE                   Use CACHE as cache file
              -f CONF                    Use CONF as configuration file
              -i, --ignore-aux-cache     Ignore auxiliary cache file
              -l                         Manually link individual libraries.
              -n                         Only process directories specified on the command
                                         line.  Don't build cache.
              -N                         Don't build cache
              -p, --print-cache          Print cache
              -r ROOT                    Change to and use ROOT as root directory
              -v, --verbose              Generate verbose messages
              -X                         Don't generate links
              -?, --help                 Give this help list
                  --usage                Give a short usage message
              -V, --version              Print program version

            Mandatory or optional arguments to long options are also mandatory or optional
            for any corresponding short options.

            ldconfig是一個動態(tài)鏈接庫管理命令,為了讓動態(tài)鏈接庫為系統(tǒng)所共享,還需運行動態(tài)鏈接庫的管理命令--ldconfig。 ldconfig 命令的用途,主要是在默認搜尋目錄(/lib和/usr/lib)以及動態(tài)庫配置文件/etc/ld.so.conf內所列的目錄下,搜索出可共享的動態(tài)鏈接庫(格式如前介紹,lib*.so*),進而創(chuàng)建出動態(tài)裝入程序(ld.so)所需的連接和緩存文件.緩存文件默認為 /etc/ld.so.cache,此文件保存已排好序的動態(tài)鏈接庫名字列表.


            linux下的共享庫機制采用了類似于高速緩存的機制,將庫信息保存在/etc/ld.so.cache里邊。

            程序連接的時候首先從這個文件里邊查找,然后再到ld.so.conf的路徑里邊去詳細找。

            這就是為什么修改了ld.so.conf要重新運行一下ldconfig的原因

            補充一點,ldconfig在/sbin里面。


            ldconfig幾個需要注意的地方
            1. 往/lib和/usr/lib里面加東西,是不用修改/etc/ld.so.conf的,但是完了之后要調一下ldconfig,不然這個library會找不到
            2. 想往上面兩個目錄以外加東西的時候,一定要修改/etc/ld.so.conf,然后再調用ldconfig,不然也會找不到
            比如安裝了一個mysql到/usr/local/mysql,mysql有一大堆library在/usr/local/mysql/lib下面,這時就需要在/etc/ld.so.conf下面加一行/usr/local/mysql/lib,保存過后ldconfig一下,新的library才能在程序運行時被找到。
            3. 如果想在這兩個目錄以外放lib,但是又不想在/etc/ld.so.conf中加東西(或者是沒有權限加東西)。那也可以,就是export一個全局變量LD_LIBRARY_PATH,然后運行程序的時候就會去這個目錄中找library。一般來講這只是一種臨時的解決方案,在沒有權限或臨時需要的時候使用。
            4. ldconfig做的這些東西都與運行程序時有關,跟編譯時一點關系都沒有。編譯的時候還是該加-L就得加,不要混淆了。
            5. 總之,就是不管做了什么關于library的變動后,最好都ldconfig一下,不然會出現(xiàn)一些意想不到的結果。不會花太多的時間,但是會省很多的事。


            二、ldd

            作用:用來查看程序運行所需的共享庫,常用來解決程序因缺少某個庫文件而不能運行的一些問題。
            ldd命令原理(摘自網(wǎng)絡)
            1、首先ldd不是一個可執(zhí)行程序,而只是一個shell腳本
            2、ldd能夠顯示可執(zhí)行模塊的dependency,其原理是通過設置一系列的環(huán)境變量,如下:LD_TRACE_LOADED_OBJECTS、
            LD_WARN、LD_BIND_NOW、LD_LIBRARY_VERSION、LD_VERBOSE等。當
            LD_TRACE_LOADED_OBJECTS環(huán)境變量不為空時,任何可執(zhí)行程序在運行時,它都會只顯示模塊的dependency,而程序并不真正執(zhí)行。要不你可以在shell終端測試一下,如下:
            (1) export LD_TRACE_LOADED_OBJECTS=1
            (2) 再執(zhí)行任何的程序,如ls等,看看程序的運行結果
            3、ldd顯示可執(zhí)行模塊的dependency的工作原理,其實質是通過ld-linux.so(elf動態(tài)庫的裝載器)來實現(xiàn)的。我們知道,ld-
            linux.so模塊會先于executable模塊程序工作,并獲得控制權,因此當上述的那些環(huán)境變量被設置時,ld-linux.so選擇了顯示可執(zhí)
            行模塊的dependency。
            4、實際上可以直接執(zhí)行l(wèi)d-linux.so模塊,如:/lib/ld-linux.so.2 --list program(這相當于ldd program)

            posted on 2012-08-02 09:50 天下 閱讀(7682) 評論(0)  編輯 收藏 引用 所屬分類: Linux使用

            <2012年10月>
            30123456
            78910111213
            14151617181920
            21222324252627
            28293031123
            45678910

            導航

            統(tǒng)計

            常用鏈接

            留言簿(4)

            隨筆分類(378)

            隨筆檔案(329)

            鏈接

            最新隨筆

            搜索

            最新評論

            久久九九精品99国产精品| 久久久久久久波多野结衣高潮| 久久综合久久伊人| 欧美日韩精品久久久久| 久久久久久久人妻无码中文字幕爆| 亚洲AV无码成人网站久久精品大| 丰满少妇人妻久久久久久4| 久久福利青草精品资源站| 久久久久亚洲?V成人无码| 久久超碰97人人做人人爱| 国产精品欧美亚洲韩国日本久久| 伊人久久大香线蕉无码麻豆| 伊人久久大香线蕉影院95| 久久精品国产亚洲精品2020| 久久99精品九九九久久婷婷| 久久久久久狠狠丁香| 无码日韩人妻精品久久蜜桃 | 久久天天躁狠狠躁夜夜avapp| 国产精品亚洲综合专区片高清久久久 | 久久久精品日本一区二区三区| 欧美日韩久久中文字幕| 久久午夜综合久久| 久久91精品国产91久久麻豆| 亚洲精品乱码久久久久久久久久久久| 99久久国产亚洲高清观看2024| 久久久久久人妻无码| 久久久久久久久波多野高潮| 久久这里的只有是精品23| 亚洲国产综合久久天堂| 国产成人久久777777| 伊人色综合久久天天| 69久久精品无码一区二区| 成人精品一区二区久久久| 国产精品久久久久久一区二区三区 | 色婷婷综合久久久久中文字幕| 国产AⅤ精品一区二区三区久久| 久久久久久九九99精品| 久久99精品久久久久婷婷| 国产高清国内精品福利99久久| 久久亚洲国产精品一区二区| 91精品婷婷国产综合久久|