• <noscript id="ecgc0"><kbd id="ecgc0"></kbd></noscript>
    <menu id="ecgc0"></menu>
  • <tt id="ecgc0"></tt>

    什么是對象文件(Object File)?

    目標文件是由一個名為編譯器的程序生成的計算機文件,它包含數據和指令。編譯器將編程語言源代碼轉換為中間的機器可讀形式,即目標代碼。較小的程序可以在單個目標文件中編譯,而較大的程序通常被編譯成具有相關功能的幾個...
    目標文件是由一個名為編譯器的程序生成的計算機文件,它包含數據和指令。編譯器將編程語言源代碼轉換為中間的機器可讀形式,即目標代碼。較小的程序可以在單個目標文件中編譯,而較大的程序通常被編譯成具有相關功能的幾個文件。這些單獨的目標文件通過一個鏈接器連接起來,并添加操作系統特定的信息,以形成一個可執行程序。通常情況下,一個目標文件用“.obj”文件擴展名表示。這些文件有幾種不同的格式,但是,最常見的是Intel?Relocatible Object Module Format(OMF),以及Windowsreg和UNIX?System V的通用對象文件格式(COFF)。在許多INIX?系統中,可執行和可鏈接格式(ELF)已取代COFF。無論格式如何,一個對象文件通常包含三種類型的信息與其它程序模塊進行交互。對外部引用開放的過程和數據都被賦予名稱,可以從其它模塊調用它們。同樣,對模塊外信息的引用也會被標記,但不指定名稱。當文件被鏈接時,未命名的引用將被賦予在中給定的名稱最初定義它們的模塊。本地名稱用于在模塊中單獨引用的指令和數據。并非所有可鏈接的代碼都存儲為對象文件。庫是作為目標代碼存儲的預編譯例程的集合。它們的生成方式與目標文件基本相同,對存儲經常調用的過程。當鏈接器在其他對象文件中找不到引用時,它會自動在庫文件中搜索它。大多數編程語言的實現都帶有一個標準函數庫通過動態鏈接,一個對象文件可以被多個正在執行的程序同時使用。與鏈接時將對象代碼綁定到程序不同,它是在加載程序時或在運行時引用過程時檢索的。在Windows?環境中,這些被稱為動態鏈接庫,用擴展名“.dll”。與Unix?類似的系統通常將這種類型的文件稱為動態共享對象(DSO)。這種類型的對象文件也可以用于特定的程序,并且是該程序安裝的一部分
    • 發表于 2020-08-06 21:34
    • 閱讀 ( 3202 )
    • 分類:電腦網絡

    你可能感興趣的文章

    相關問題

    0 條評論

    請先 登錄 后評論
    admin
    admin

    0 篇文章

    作家榜 ?

    1. xiaonan123 189 文章
    2. 湯依妹兒 97 文章
    3. luogf229 46 文章
    4. jy02406749 45 文章
    5. 小凡 34 文章
    6. Daisy萌 32 文章
    7. 我的QQ3117863681 24 文章
    8. 華志健 23 文章

    推薦文章

    聯系我們:uytrv@hotmail.com 問答工具
  • <noscript id="ecgc0"><kbd id="ecgc0"></kbd></noscript>
    <menu id="ecgc0"></menu>
  • <tt id="ecgc0"></tt>
    久久久久精品国产麻豆