freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

第十章 動態(tài)鏈接庫編程(一)-全文預覽

2025-10-01 15:29 上一頁面

下一頁面
  

【正文】 name 39。 Exit。 export。程序清單如下: library Example。 退出過程 LibExit 中使用了一個系統(tǒng)定義變量 ExitCode,用于標志退出時的狀態(tài)。 { 保存原來的退出過程指針 } ExitProc := LibExit。 begin if ExitCode = wep_System_Exit then begin { 系統(tǒng)關閉時的相應處理 } end else begin { DLL 卸出時的相應 處理 } end。 {$S} uses WinTypes, WinProcs。用戶可以把自己的過程名賦給 ExitProc。 初始化代碼完成的主要工作是: 、分配全局內(nèi)存塊、登錄窗口對象等初始化工作。這就是在工程文件中的 begin...end 部分添加初始化代碼。因此要求程序設計者在編寫代碼時要有充分、周到的考慮。當 DLLs 中發(fā)生一個運行時間錯時,相應 DLLs 并不一定從內(nèi)存中移去(因為此時其它應用程序可能正在用它),而調(diào)用 DLLs 的程序異常中止。一些語言在小模式編譯下有 這種假設,但使用 Delphi 可以避免這種情況。要使用必須通過過程或函數(shù)界面才能完成。 對于那些其它應用程序常常要調(diào)用的過程或函數(shù),使用 resident 指示是合適的。 Index 后所接數(shù)字的范圍為 1...32767。 其它應用程序?qū)⒂眯旅?(MyInstr)調(diào)用該過程或函數(shù)。這一步是可選的; ,生成動態(tài)鏈接庫文件。 對于 Delphi 的用戶,由于沒有 DLLs 模板,因此: (1).建立一個一般的應用程序,并打開工程文件; (2).移去窗體和相應的代碼單元; (3).在工程文件中,把 program 改成 library,移去 Uses 子句中的 Forms,并添加適當?shù)膸靻卧ㄒ话?SysUtils、 Classes 是需要的),刪去 begin...end之間的所有代碼。而這些函數(shù)或過程本身必須用 export 編譯指令進行編譯。 exprots 子句 。 一般工程文件的格式為: program 工程標題 。事實上作為 DLLs 主體的 DLL函數(shù)的編寫,除了在內(nèi)存、資源的管理上有所不同外,并不需要其它特別的手段。 Delphi 的出現(xiàn),在這一方面,正如在其它許多方面所做的那樣,減輕了開發(fā)者的負擔。另一方面即使使用 Windows API,由于 Delphi把 API 函數(shù)和其它 Windows DLLs 函數(shù)重新組織到了幾個庫單元中,因而也不必使用特殊的調(diào)用格式。這包括 Windows API 函數(shù) ( , , ,? ),各種驅(qū)動程序文件,各種帶有 .Fon和 .Fot 擴展名的字體資源文件等。任何應用程序都可以共享由裝入內(nèi)存的 DLLs 管理的內(nèi)存資源塊。此時 Windows 才在 DLLs 中尋找被調(diào)用函數(shù),并把它的地址傳送給調(diào)用程序。對于常規(guī)的函數(shù)庫,鏈接器從中拷貝它需要的所有庫函數(shù),并把確切的函數(shù) 地址傳送給調(diào)用這些函數(shù)的程序。 Windows 的發(fā)展要求允許同時運行的幾個程序共享一組函數(shù)的單一拷貝。在鏈接應用程序的過程中,鏈接器從庫文件中拷貝程序調(diào)用的函數(shù)代碼,并把這些函數(shù)代碼添加到可執(zhí)行文件中。所有的 C 語言標準庫函數(shù)都存放在某一函數(shù)庫中,同時用戶也可以用 LIB程序創(chuàng)建自己的函數(shù)庫。如果為了完成屏幕輸出、 消息處理、內(nèi)存管理、對話框等操作,每個程序都不得不擁有自己的函數(shù),那么 Windows 程序?qū)⒆兊梅浅}嫶蟆? 動態(tài)鏈接庫的工作原理 “動態(tài)鏈接”這幾字指明了 DLLs 是如何工作的。直到程序運行并調(diào)用一個 DLLs中的函數(shù)時,該程序才要求這個函數(shù)的地址。 DLLs 不僅提供了函數(shù)重用的機制,而且提供 了數(shù)據(jù)共享的機制。 Windows 系統(tǒng)的動態(tài)鏈接庫 Windows 本身就是由大量的動態(tài)鏈接庫支持的。這一方面是因為 Delphi 提供了豐富的函數(shù)使用戶不必直接去使用 Windows API。用戶需要對定義文件、工程文件進行一系列的修改以適應創(chuàng)建和使用 DLLs 的需要。 DLLs 的編寫和調(diào)用 DLLs 的編寫 在 Delphi 環(huán)境中,編寫一個 DLLs 同編寫一個一般的應用程序并沒有太大的區(qū)別 。如果想查看工程文件,則可以打開 View 菜單選擇 Project Source項,此時工程文件的代碼就會出現(xiàn)在屏幕的 Code Editor(代碼編輯器 )中。 uses 子句 。用 program 關鍵字生成的是 .exe 文件,而用 library 關鍵字生成的是 .dll 文件; DLLs 要輸出供其它應用程序使用的函數(shù)或過程,則必須將這些函數(shù)或過程列在 exports 子句中。 編寫一般 DLLs 的步驟 編寫一般 DLLs 的步驟如下: Delphi 的應用程序模板,建立一個 DLLs 程序框架??梢岳脴藴手甘? name 、 Index、 resident 以方便和加速過程 /函數(shù)的調(diào)用; 。如: exports InStr name MyInstr。如果不
點擊復制文檔內(nèi)容
公司管理相關推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1