1. 程式人生 > >Windows下的lib檔案和dll檔案

Windows下的lib檔案和dll檔案

一個軟體執行,通常需要一些必備的靜態庫和動態庫。靜態庫和動態庫本身,其實可以作為軟體執行所必需的環境來理解。靜態庫是指靜態的,一般在程式連結時早已放到程式中。動態庫是連結時告訴程式此環境存在,在執行時才呼叫和載入。在Windows下,靜態庫的檔名為lib,動態庫為dll。

值得一提的是,Windows程式在編譯動態庫時,會同時生成lib檔案和dll檔案。此lib檔案並非靜態庫,而是引導檔案。此lib檔案只是告訴原始檔,編譯的時候存在相應動態庫。當原始檔編譯為程式時,程式執行也需要相應動態庫,必須把lib檔案對應的dll檔案放到程式認可的目錄下。

附:Linux / Unix 等程式執行科參考Windows過程,只是Linux / Unix 無lib引導檔案,直接連結和執行so檔案

相關推薦

Windowslib檔案dll檔案

一個軟體執行,通常需要一些必備的靜態庫和動態庫。靜態庫和動態庫本身,其實可以作為軟體執行所必需的環境來理解。靜態庫是指靜態的,一般在程式連結時早已放到程式中。動態庫是連結時告訴程式此環境存在,在執行時才呼叫和載入。在Windows下,靜態庫的檔名為lib,動態庫為dll。

Windows一個複製刪除檔案(資料夾)的bat指令碼

:: 指令碼建立時最好選擇GB2312編碼 :: @echo off 表示不回顯執行的命令 @echo off ::設定源路徑和目的路徑,使用該變數時需要用一對%包起來 set SRC_PATH=..

.exe檔案.dll檔案之間的作用關係!

DLL檔案即動態連結庫檔案,是一種可執行檔案,它允許程式共享執行特殊任務所必需的程式碼和其他資源。Windows提供的DLL檔案中包含了允許基於Windows的程式在Windows環境下操作的許多函式和資源。 DLL多數情況下是帶有DLL副檔名的檔案,但也可

windows使用gcc完成標頭檔案目標檔案編譯

環境要求 安裝了gcc  win+r然後輸入cmd , dos介面輸入 gcc -v 檢視有沒有安裝gcc   進入正題 新建 text.c檔案鍵入如下程式碼: #include <stdio.h> #include ".\\head.h" int main(

VS2010使用dmp檔案pdb檔案定位到dll中崩潰位置的方法

2018-01-15 建立人:Ruo_Xiao 郵箱:[email protected] 一、基礎連結 二、原始碼 1、DLL程式碼(工程1) #pragma once #ifdef __XError_Export__ #define __

libdll檔案的區別聯絡

什麼是lib檔案,lib和dll的關係如何 (2008-04-18 19:44:37)    (1)lib是編譯時需要的,dll是執行時需要的。 如果要完成原始碼的編譯,有lib就夠了。 如果也使動態連線的程式執行起來,有dll就夠了。 在開發和除錯階段,當然最好都

windows另存為Ascii檔案unicode檔案的問題

"劉"字                 GBK 編碼為 0xC1F5 UNICODE(小端)編碼為   0x5218 在windowsXP下用記事本寫"劉"字,分別另存為ANSI編碼方式,以及unicode編碼方式。 用ultraedit開啟切換到十六進位制模式,發現 ANSI編碼儲存的檔案第一位元組為

VS2013中為C++程式生成libdll檔案

dll的優點 程式碼複用是提高軟體開發效率的重要途徑。只要某部分程式碼具有通用性,就可將它構造成相對獨立的功能模組並在之後的專案中重複使用。比較常見的例子是各種應用程式框架,ATL、MFC等,它們都

VC中dlllib檔案dll有什麼不同?

dll是在你的程式執行的時候才連線的檔案,因此它是一種比較小的可執行檔案格式,.dll還有其他的檔案格式如.ocx等,所有的.dll檔案都是可執行。 .lib是在你的程式編譯連線的時候就連線的檔案,因此你必須告知編譯器連線的lib檔案在那裡。一般來說,與動態連線檔案相對

windowsLIBDLL的區別與使用

共有兩種庫: 一種是LIB包含了函式所在的DLL檔案和檔案中函式位置的資訊(入口),程式碼由執行時載入在程序空間中的DLL提供,稱為動態連結庫dynamic link library。 一種是LIB包含函式程式碼本身,在編譯時直接將程式碼加入程式當中,稱為靜態連結庫static link library。 共

根據DLL檔案生成LIB檔案def檔案

首先開啟VS的命令提示符,依次輸入下面的命令(以VLC為例)dumpbin /exports "D:\Program Files\VideoLAN\VLC\libvlc.dll" > "D:\Program Files\VideoLAN\VLC\libvlc.def"e

WebRTC:如何從WebRTC中提取出音訊QoS程式碼(Windows並編譯成dll檔案)

WebRTC版本:M66        WebRTC的語音QoS機制幾乎可以說是行業的標杆,其實現的方式主要融入了三種技術,包括丟包重傳(NACK),前向糾錯(FEC)以及原GIPS公司的網路均衡器(NetEqualizer,簡稱NetEQ)。前兩種都是在犧牲一定成本的

Windows使用FindFirstFileFindNextFile列舉目錄中的檔案

在Windows下程式設計經常需要列舉出某個目錄下的所有檔案,以便對該目錄下的檔案進行批量處理,這種情形下,我們可以使用windows api提供的FindFirstFile和FindNextFile。 MSDN對這兩個函式的文件: http://msdn.microsof

windowslib dll 的區別、生成以使用詳解

首先介紹一下靜態庫(靜態連結庫)、動態庫(動態連結庫)的概念,首先兩者都是程式碼共享的方式。靜態庫:在連結步驟中,聯結器將從庫檔案取得所需的程式碼,複製到生成的可執行檔案中,這種庫稱為靜態庫,其特點是可執行檔案中包含了庫程式碼的一份完整拷貝;缺點就是被多次使用就會有多份冗餘拷貝。即靜態庫中的指令都全部被直接包

Windows通過bat批處理檔案vbs指令碼實現守護程序

set _task=ISMClient.exeset _svr=C:\ISMClient\ISMClient.exeset _des=start1.bat :checkstartSET status=1 (TASKLIST|FIND /I "%_task%"||SET status=0) 2>nul 1

Windows批處理檔案(.bat檔案.cmd檔案)介紹以及簡單使用

首先說一下cmd檔案和bat檔案的區別,從檔案描述中的區別是,cmd檔案叫做:Windows命令指令碼,bat檔案叫:批處理檔案,兩者都可以使用任意一款文字編輯器進行建立、編輯和修改,只是在cmd中支援的命令要多於bat。 批處理檔案是一種沒有什麼固定格式的檔案,他可以處理一條或者多條命令,

windows Python3.x生成pyd檔案(python加密)

Python有py、pyc、pyw、pyo、pyd等檔案格式,其中除py其他格式起到了不暴露原始碼的作用,相當於c語言中的動態庫。 Python的指令碼檔案是開源的,若直接釋出桌面軟體問題很嚴重。因為這是公司的產品,需要保護原始碼。那麼要對Python程式碼進行混淆加密保護。 混淆程式碼,我

如何根據已有專案lib包裡jar檔案快速生成maven的pom.xml 裡面所有依賴

想將一個web專案轉成Maven專案,在lib資料夾下,jar包較多的時候,就需要高效快速的生成其對應依賴來完成快速開發。那麼你就來對地方了。 話不多說,直接上乾貨。 import java.io.File; import java.io.FileInputSt

java呼叫openvc時jar包dll檔案的引入

openvc裡面的jar包和dll檔案引入 剛開始學習影象處理的時候,選擇了openvc然後下載了安裝了。如圖下然後找了半天也沒找到要的jar包和dll檔案。在這裡分享一下,因為找不到我打算去csdn裡面下載的,結果要積分很是煩人。 本人是java開發的就匯入j

windowspython的tar.gz檔案安裝

windows下下載了django,PIL,web.py發現都是tar.gz格式的檔案,網上查詢也非常系統的方法,總結一下其他大神的方法,歸納於此。 首先下載tar.gz檔案,比如web.py,下載後是一個tar.gz檔案,用好壓或其他解壓軟體解壓,你會看到目錄裡有一個setup.py檔案,這時