api是庫嗎 api與dll的聯(lián)系和區(qū)別?
api與dll的聯(lián)系和區(qū)別?API:應(yīng)用程序接口(API)DLL:動態(tài)鏈接庫(DLL)API是DLL函數(shù)接口,DLL是函數(shù)庫,兩者無法比較!例如:私有聲明函數(shù)GetDC lib“user32”(ByV
api與dll的聯(lián)系和區(qū)別?
API:應(yīng)用程序接口(API)DLL:動態(tài)鏈接庫(DLL)API是DLL函數(shù)接口,DLL是函數(shù)庫,兩者無法比較!例如:私有聲明函數(shù)GetDC lib“user32”(ByVal hWnd as long)只要longgetdc是API(應(yīng)用程序編程接口),user32.dll是dll(動態(tài)鏈接庫),API GetDC只是user32.dll中的一個函數(shù)
API函數(shù)與DLL文件是什么關(guān)系?
API是應(yīng)用程序編程接口。它是一組可用于操作組件、應(yīng)用程序或操作系統(tǒng)的函數(shù)。通常,API由一個或多個提供特定功能的DLL組成。DLL是一個包含函數(shù)的文件,在Microsoft Windows下運行的任何應(yīng)用程序都可以調(diào)用這些函數(shù)。在運行時,DLL中的函數(shù)動態(tài)鏈接到調(diào)用它的應(yīng)用程序。無論有多少個應(yīng)用程序調(diào)用DLL中的函數(shù),磁盤上只有一個文件包含該函數(shù),并且只有在調(diào)用到內(nèi)存中時才會創(chuàng)建DLL。您聽到最多的API可能是windowsapi,它包括構(gòu)成windows操作系統(tǒng)的各種dll。每個windows應(yīng)用程序都直接或間接地與windowsapi交互。windowsapi確保所有在Windows下運行的應(yīng)用程序都以相同的方式運行。請注意,隨著Windows操作系統(tǒng)的發(fā)展,已經(jīng)發(fā)布了幾個版本的windowsapi。Windows3.1使用Win16API。微軟?Windows NT、Windows 95和Windows 98平臺是否使用Microsoft?Win32?應(yīng)用程序編程接口。除了windowsapi,其他API也已經(jīng)發(fā)布。例如,郵件應(yīng)用程序編程接口(MAPI)是一組可用于編寫電子郵件應(yīng)用程序的DLL。API傳統(tǒng)上是為開發(fā)Windows應(yīng)用程序的C和C程序員編寫的,但其他編程語言(包括VBA)也可以調(diào)用DLL中的函數(shù)。由于大多數(shù)DLL主要是為C和C程序員編寫的,因此調(diào)用DLL函數(shù)的方法不同于調(diào)用VBA函數(shù)。使用API時,必須知道如何將參數(shù)傳遞給DLL函數(shù)。警告:調(diào)用Windows API和其他DLL函數(shù)可能會對應(yīng)用程序產(chǎn)生不利影響。當(dāng)直接從自己的代碼調(diào)用DLL函數(shù)時,可以繞過VBA通常提供的一些安全機制。如果在定義或調(diào)用DLL函數(shù)時發(fā)生錯誤(所有程序員都無法避免),則可能會在應(yīng)用程序中導(dǎo)致應(yīng)用程序錯誤(也稱為通用保護(hù)錯誤或GPF)。最好的解決方案是在運行代碼之前保存項目,并確保您了解DLL函數(shù)調(diào)用的工作方式。API是系統(tǒng)提供的獨立于語言的函數(shù)。它可以用C、C或其他語言編寫