主頁 > 軟體工程 > vb6呼叫DLL

vb6呼叫DLL

2020-09-25 07:15:12 軟體工程

'========名稱GS_Interface.dll===如何申明及呼叫里面的函式=====
File Type: DLL

  Section contains the following exports for GS_Interface.dll

           0 characteristics
           0 time date stamp Thu Jan 01 08:00:00 1970
        0.00 version
           1 ordinal base
          18 number of functions
          18 number of names

    ordinal hint RVA      name

          8    0 001477D4 BatchFeeDetail_H
          2    1 00147810 CallManInfo
          1    2 00147A60 CallManList
         18    3 001476D0 CheckNet
          5    4 001477E8 ChgFacAndBed
         16    5 001476EC DelDetail_M
         10    6 001477AC DelFeeDetail_H
          3    7 00147754 DelRegister
          9    8 001477C0 FeeDetail_H
         15    9 00147700 FeeDetail_M
         17    A 001476D8 ManRegister_M
         11    B 00147740 ManRegister_Z
         13    C 0014772C OutCurtain_M
          6    D 0014777C OutFeeCurtain
          7    E 00147794 PreCurtain_H
         14    F 00147714 PreCurtain_M
          4   10 001477FC RtnCurtain
         12   11 00147768 RtnTicket

  Summary

        1000 .adata
        2000 .aspack
        1000 .edata
        3000 .idata
       15000 .reloc
       1A000 .rsrc
        2000 BSS
      148000 CODE
        4000 DATA

’============================

uj5u.com熱心網友回復:

宣告 DLL 程序


盡管 Visual Basic 在 Win32api.txt 中提供了大量的預定義宣告,但還是需要知道如何親自撰寫宣告。例如,有時希望訪問用其它語言撰寫的 DLL 中的程序,或者改寫 Visual Basic 的預定義宣告,以滿足特殊需要。

要宣告一個 DLL 程序,需要在代碼視窗的“宣告”部分增加一個 Declare 陳述句。如果該程序回傳一個值,應將其宣告為 Function:

Declare Function publicname Lib "libname" [Alias "alias"] [([[ByVal] variable [As type] [,[ByVal] variable [As type]]...])] As Type

如果程序沒有回傳值,可將其宣告為 Sub:

Declare Sub publicname Lib "libname" [Alias "alias"] [([[ByVal] variable [As type] [,[ByVal] variable [As type]]...])]

預設情況下,在標準模塊中宣告的 DLL 程序是公有的,可以在應用程式的任何地方呼叫它。在其它型別的模塊中定義的 DLL 程序是模塊私有的,必須在它們前面宣告 Private 關鍵字,以示區分。

在 32 位的 Visual Basic 中程序名是區分大小寫的。在以前的 16 位版本中,程序名是不區分大小寫的。

詳細資訊   請參閱《聯機手冊》中《語言參考》中的“宣告陳述句”。

指定庫
Declare 陳述句中的 Lib 子句用來告訴 Visual Basic 如何找到包含程序的 .dll 檔案。如果參考的程序屬于 Windows 核心庫(User32、Kernel32 或 GDI32),則可以不包含檔案擴展名:

Declare Function GetTickCount Lib "kernel32" Alias _
"GetTickCount" () As Long

對于其它 DLL,Lib 子句指定檔案的路徑:

Declare Function lzCopy Lib "c:\windows\lzexpand.dll" _
(ByVal S As Integer,    ByVal D As Integer) As Long

如果未指定 libname 的路徑,Visual Basic 將按照下列順序查找該檔案: 

.exe 檔案所在的目錄


當前目錄


Windows 位系統目錄(通常為 \Windows\System)


Windows 目錄(不一定是 \Windows)


Path 環境變數中的目錄 
下表中列出了通常的作業系統環境庫檔案。

元件 描述 
Advapi32.dll 高級 API 服務,支持大量的 API(其中包括許多安全與注冊方面的呼叫) 
Comdlg32.dll 通用對話框 API 庫 
Gdi32.dll 圖形設備介面 API 庫 
Kernel32.dll Windows 32 位核心的 API 支持 
Lz32.dll 32 位壓縮例程 
Mpr.dll 多介面路由器庫 
Netapi32.dll 32 位網路 API 庫 
Shell32.dll 32 位 Shell API 庫 
User32.dll 用戶介面例程庫 
Version.dll 版本庫 
Winmm.dll Windows 多媒體庫 
Winspool.drv 后臺列印介面,包含后臺列印 API 呼叫。 


處理使用字串的 Windows API 程序
如果呼叫的 Windows API 程序要使用字串,那么宣告陳述句中必須增加一個 Alias 子句,以指定正確的字符集。包含字串的 Windows API 函式實際有兩種格式:ANSI 和 Unicode。因此,在 Windows 頭檔案中,每個包含字串的函式都同時有 ANSI 版本和 Unicode 版本。

例如,下面是 SetWindowText 函式的兩種 C 語言描述。可以看到,第一個描述將函式定義為 SetWindowTextA,尾部的“A”表明它是一個 ANSI 函式:

WINUSERAPI
BOOL
WINAPI
SetWindowTextA(
   HWND hWnd,
   LPCSTR lpString);

第二個描述將它定義為 SetWindowTextW,尾部的“W”表明它是一個 Unicode 函式:

WINUSERAPI
BOOL
WINAPI
SetWindowTextW(
   HWND hWnd,
   LPCWSTR lpString);

因為兩個函式實際的名稱都不是“SetWindowText”,要參考正確的函式就必須增加一個 Alias 子句:

Private Declare Function SetWindowText Lib "user32" _
Alias "SetWindowTextA" (ByVal hwnd As Long, ByVal _
lpString As String) As Long

請注意,Alias 子句后面的字串必須是程序的真正名稱,而且必須是區分大小寫的。

重點   對于 Visual Basic 中使用的 API 函式,應該指定函式的 ANSI 版本,因為只有 Windows NT 才支持 Unicode 版本,而 Windows 95 不支持這個版本。僅當應用程式只運行在 Windows NT 平臺上的時候才可以使用 Unicode 版本。

使用值或參考傳遞
在預設的情況下,Visual Basic 以參考方式傳遞所有引數。這意味著并沒有傳遞實際的引數值,Visual Basic 只傳遞了資料的 32 位地址。在 Declare 陳述句中不要求包含 ByRef 關鍵字,但是如果包含該關鍵字,就能夠清楚地看出資料是以何種方式傳遞的。

許多 DLL 程序要求引數以值方式傳遞。這意味著它們需要實際的資料,而不是資料的記憶體地址。如果程序需要一個傳值引數,而傳遞給它的引數是一個指標,那么由于得到了錯誤的資料,該程序將不能正確地作業。

要使引數以使用值方式傳遞,在 Declare 陳述句中需要在引數宣告的前面加上 ByVal 關鍵字。例如,InvertRect 程序要求第一個引數使用值,而第二個使用參考:

Declare Function InvertRect Lib "user32" Alias _
"InvertRectA" (ByVal hdc As Long, _
lpRect As RECT) As Long

也可以在呼叫程序時使用 ByVal 關鍵字。

注意   在查看使用 C 語言語法的 DLL 程序檔案時,請記住 C 以傳值方式傳遞陣列以外的引數。

字串引數是一個特例。如果以使用值方式傳遞字串,那么傳遞的將是該字串中第一個資料位元組的地址;如果以使用參考方式傳遞字串,那么實際傳遞的將是用來保存另一個地址的記憶體單元的地址;后面的“地址”實際是字串的第一個資料位元組的記憶體地址。本章后面的幫助主題“將字串傳遞到 DLL 程序”將解釋如何確定字串引數傳遞的正確方式。

不標準的名稱
有時,個別的 DLL 程序的名稱不是有效的識別符號。例如,它可能包含了非法的字符(如連字符),或者名稱是 Visual Basic 的關鍵字(如 GetObject)。在這種情況下,可以使用 Alias 關鍵字。

例如,操作環境 DLL 中的某些程序名以下劃線開始。盡管在 Visual Basic 識別符號中允許使用下劃線,但是下劃線不能作為識別符號的第一個字符。為了使用這種程序,必須先宣告一個名稱合法的程序,然后用 Alias 子句參考程序的真實名稱:

Declare Function lopen Lib "kernel32" Alias "_lopen" _
(ByVal lpPathName As String, ByVal iReadWrite _
As Long) As Long

在上例中,lopen 是 Visual Basic 中使用的程序名稱。而 _lopen 則是 DLL 中可以識別的名稱。

為了使用方便,也可以使用 Alias 子句改變程序的名字。如果使用自己的名稱替代了程序原來的名稱(例如使用 WinDir 代替 GetWindowsDirectoryA),那么必須在檔案中清楚地說明這種修改,從而便于將來對檔案進行維護。

使用序號標識 DLL 程序
除了使用名稱之外,還可以使用序號來標識所有 DLL 程序。某些 DLL 中不包含程序的名稱,在宣告它們包含的程序時必須使用序號。同使用名稱標識 DLL 程序相比,如果使用序號,在最終的應用程式中消耗的記憶體將比較少,而且速度會快些。

重點   一個具體的 API 的序號在不同的作業系統中可能是不同的。例如 GetWindowsDirectory 在 Win95 下的序號為 432,而在 Windows NT 4.0 下為 338。總而言之,如果希望應用程式能夠在不同的作業系統下運行,那么請不要使用序號來標識 API 程序。如果程序不屬于 API,或者應用程式使用的范圍很有限,那么使用序號還是有好處的。

要使用序號來宣告 DLL 程序,Alias 子句中的字串需要包含程序的序號,并在序號的前面加一個數字標記字符 (#)。例如,Windows kernel 中的 GetWindowsDirectory 函式的序號為 432;可以用下面的陳述句來宣告該 DLL 程序:

Declare Function GetWindowsDirectory Lib "kernel32" _
Alias "#432" (ByVal lpBuffer As String, _
ByVal nSize As Long) As Long

注意,這里可以使用任意的合法名稱作為程序的名稱,Visual Basic 將用序號在 DLL 中尋找程序。

為了得到要宣告的程序的序號,可以使用 Dumpbin.exe 等實用工具。(Dumpbin.exe 是 Microsoft Visual C++ 提供的一個實用工具。)利用 Dumpbin,可以提取出 .dll 檔案中的各種資訊,例如 DLL 中的函式串列,它們的序號以及與代碼有關的其它資訊。

詳細資訊   關于運行 Dumpbin 實用程式的有關說明,請參閱 Microsoft Visual C++ 檔案。

靈活的引數型別
某些 DLL 程序的同一個引數能夠接受多種資料型別。如果需要傳遞多種型別的資料,可以將引數宣告為 As Any,從而取消型別限制。

例如,根據需要,下面的宣告中的第三個引數 (lppt As Any) 既可以傳遞一個 POINT 結構的陣列,也可以傳遞一個 RECT 結構:

Declare Function MapWindowPoints Lib "user32" Alias _
"MapWindowPoints" (ByVal hwndFrom As Long, _
ByVal hwndTo As Long, lppt As Any, _
ByVal cPoints As Long) As Long

As Any 子句提供了一定的靈活性,但是,由于它不進行任何的型別檢查,風險也隨之增加。如果不進行型別檢查,那么在呼叫程序時用錯型別的可能性增加,這可能導致各種問題,包括應用程式的失敗。在使用 As Any 子句時,必須仔細檢查所有引數的型別。

在消除了型別限制以后,Visual Basic 假定引數以傳參考方式傳遞。在實際呼叫程序時,如果要使用傳值方式,可以加入 ByVal。字串將以傳值方式傳遞,因此傳遞的是指向字串的指標,而不是指向指標的指標。更深入的討論請參閱“將字串傳遞到 DLL 程序”。

uj5u.com熱心網友回復:

將 C 語言宣告轉換為 Visual Basic 宣告


在檔案中,通常使用 C 語言的語法描述 DLL 中的程序。要在 Visual Basic 中呼叫這些程序,需要將它們轉換成合法的 Declare 陳述句,并使用正確的引數呼叫它們。

在進行這種轉換時,必須將 C 資料型別轉換為 Visual Basic 的資料型別,并且說明每個引數是以使用值的 (ByVal) 方式,還是使用參考的 (ByRef)(預設)方式。下表針對常用的 C 語言資料型別列出了與之等價的 Visual Basic 型別(用于 32 位版本的 Windows)。

C 語言資料型別 在 Visual Basic 中宣告為 呼叫時使用的運算式 
ATOM ByVal variable As Integer 結果為 Integer 型別的運算式 
BOOL ByVal variable As Long 結果為 Long 型別的運算式 
BYTE ByVal variable As Byte 結果為 Byte 型別的運算式 
CHAR ByVal variable As Byte 結果為 Byte 型別的運算式 
COLORREF ByVal variable As Long 結果為 Long 型別的運算式 
DWORD ByVal variable As Long 結果為 Long 型別的運算式 
HWND, HDC, HMENU 等。(Windows 句柄) ByVal variable As Long 結果為 Long 型別的運算式 
INT, UINT ByVal variable As Long 結果為 Long 型別的運算式 
LONG ByVal variable As Long 結果為 Long 型別的運算式 
LPARAM ByVal variable As Long 結果為 Long 型別的運算式 
LPDWORD variable As Long 結果為 Long 型別的運算式 
LPINT, LPUINT variable As Long 結果為 Long 型別的運算式 
LPRECT variable As type 自定義型別的任意變數 
LPSTR, LPCSTR ByVal variable As String 結果為 String 型別的運算式 
LPVOID variable As Any 任何變數(在傳遞字串的時候使用 ByVal) 
LPWORD variable As Integer 結果為 Integer 型別的運算式 
LRESULT ByVal variable As Long 結果為 Long 型別的運算式 
NULL As Any 或
ByVal variable As Long ByVal Nothing 或 ByVal 0& 或 vbNullString 
SHORT ByVal variable As Integer 結果為 Integer 型別的運算式 
VOID Sub procedure 不可用 
WORD ByVal variable As Integer 結果為 Integer 型別的運算式 
WPARAM ByVal variable As Long 結果為 Long 型別的運算式 

轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/123899.html

標籤:API

上一篇:求演算法!比較難!急!

下一篇:VB中如何使textbox的計算數值只顯示兩位有效小數?

標籤雲
其他(157675) Python(38076) JavaScript(25376) Java(17977) C(15215) 區塊鏈(8255) C#(7972) AI(7469) 爪哇(7425) MySQL(7132) html(6777) 基礎類(6313) sql(6102) 熊猫(6058) PHP(5869) 数组(5741) R(5409) Linux(5327) 反应(5209) 腳本語言(PerlPython)(5129) 非技術區(4971) Android(4554) 数据框(4311) css(4259) 节点.js(4032) C語言(3288) json(3245) 列表(3129) 扑(3119) C++語言(3117) 安卓(2998) 打字稿(2995) VBA(2789) Java相關(2746) 疑難問題(2699) 细绳(2522) 單片機工控(2479) iOS(2429) ASP.NET(2402) MongoDB(2323) 麻木的(2285) 正则表达式(2254) 字典(2211) 循环(2198) 迅速(2185) 擅长(2169) 镖(2155) 功能(1967) .NET技术(1958) Web開發(1951) python-3.x(1918) HtmlCss(1915) 弹簧靴(1913) C++(1909) xml(1889) PostgreSQL(1872) .NETCore(1853) 谷歌表格(1846) Unity3D(1843) for循环(1842)

熱門瀏覽
  • Git本地庫既關聯GitHub又關聯Gitee

    創建代碼倉庫 使用gitee舉例(github和gitee差不多) 1.在gitee右上角點擊+,選擇新建倉庫 ? 2.選擇填寫倉庫資訊,然后進行創建 ? 3.服務端已經準備好了,本地開始作準備 (1)Git 全域設定 git config --global user.name "成鈺" git c ......

    uj5u.com 2020-09-10 05:04:14 more
  • CODING DevOps 代碼質量實戰系列第二課,相約周三

    隨著 ToB(企業服務)的興起和 ToC(消費互聯網)產品進入成熟期,線上故障帶來的損失越來越大,代碼質量越來越重要,而「質量內建」正是 DevOps 核心理念之一。**《DevOps 代碼質量實戰(PHP 版)》**為 CODING DevOps 代碼質量實戰系列的第二課,同時也是本系列的 PHP ......

    uj5u.com 2020-09-10 05:07:43 more
  • 推薦Scrum書籍

    推薦Scrum書籍 直接上干貨,推薦書籍清單如下(推薦有順序的哦) Scrum指南 Scrum精髓 Scrum敏捷軟體開發 Scrum捷徑 硝煙中的Scrum和XP : 我們如何實施Scrum 敏捷軟體開發:Scrum實戰指南 Scrum要素 大規模Scrum:大規模敏捷組織的設計 用戶故事地圖 用 ......

    uj5u.com 2020-09-10 05:07:45 more
  • CODING DevOps 代碼質量實戰系列最后一課,周四發車

    隨著 ToB(企業服務)的興起和 ToC(消費互聯網)產品進入成熟期,線上故障帶來的損失越來越大,代碼質量越來越重要,而「質量內建」正是 DevOps 核心理念之一。 **《DevOps 代碼質量實戰(Java 版)》**為 CODING DevOps 代碼質量實戰系列的最后一課,同時也是本系列的 ......

    uj5u.com 2020-09-10 05:07:52 more
  • 敏捷軟體工程實踐書籍

    Scrum轉型想要做好,第一步先了解并真正落實Scrum,那么我推薦的Scrum書籍是要看懂并實踐的。第二步是團隊的工程實踐要做扎實。 下面推薦工程實踐書單: 重構:改善既有代碼的設計 決議極限編程 : 擁抱變化 代碼整潔代碼 程式員的職業素養 修改代碼的藝術 撰寫可讀代碼的藝術 測驗驅動開發 : ......

    uj5u.com 2020-09-10 05:07:55 more
  • Jenkins+svn+nginx實作windows環境自動部署vue前端專案

    前面文章介紹了Jenkins+svn+tomcat實作自動化部署,現在終于有空抽時間出來寫下Jenkins+svn+nginx實作自動部署vue前端專案。 jenkins的安裝和配置已經在前面文章進行介紹,下面介紹實作vue前端專案需要進行的哪些額外的步驟。 注意:在安裝jenkins和nginx的 ......

    uj5u.com 2020-09-10 05:08:49 more
  • CODING DevOps 微服務專案實戰系列第一課,明天等你

    CODING DevOps 微服務專案實戰系列第一課**《DevOps 微服務專案實戰:DevOps 初體驗》**將由 CODING DevOps 開發工程師 王寬老師 向大家介紹 DevOps 的基本理念,并探討為什么現代開發活動需要 DevOps,同時將以 eShopOnContainers 項 ......

    uj5u.com 2020-09-10 05:09:14 more
  • CODING DevOps 微服務專案實戰系列第二課來啦!

    近年來,工程專案的結構越來越復雜,需要接入合適的持續集成流水線形式,才能滿足更多變的需求,那么如何優雅地使用 CI 能力提升生產效率呢?CODING DevOps 微服務專案實戰系列第二課 《DevOps 微服務專案實戰:CI 進階用法》 將由 CODING DevOps 全堆疊工程師 何晨哲老師 向 ......

    uj5u.com 2020-09-10 05:09:33 more
  • CODING DevOps 微服務專案實戰系列最后一課,周四開講!

    隨著軟體工程越來越復雜化,如何在 Kubernetes 集群進行灰度發布成為了生產部署的”必修課“,而如何實作安全可控、自動化的灰度發布也成為了持續部署重點關注的問題。CODING DevOps 微服務專案實戰系列最后一課:**《DevOps 微服務專案實戰:基于 Nginx-ingress 的自動 ......

    uj5u.com 2020-09-10 05:10:00 more
  • CODING 儀表盤功能正式推出,實作作業資料可視化!

    CODING 儀表盤功能現已正式推出!該功能旨在用一張張統計卡片的形式,統計并展示使用 CODING 中所產生的資料。這意味著無需額外的設定,就可以收集歸納寶貴的作業資料并予之量化分析。這些海量的資料皆會以圖表或串列的方式躍然紙上,方便團隊成員隨時查看各專案的進度、狀態和指標,云端協作迎來真正意義上 ......

    uj5u.com 2020-09-10 05:11:01 more
最新发布
  • windows系統git使用ssh方式和gitee/github進行同步

    使用git來clone專案有兩種方式:HTTPS和SSH:
    HTTPS:不管是誰,拿到url隨便clone,但是在push的時候需要驗證用戶名和密碼;
    SSH:clone的專案你必須是擁有者或者管理員,而且需要在clone前添加SSH Key。SSH 在push的時候,是不需要輸入用戶名的,如果配置... ......

    uj5u.com 2023-04-19 08:41:12 more
  • windows系統git使用ssh方式和gitee/github進行同步

    使用git來clone專案有兩種方式:HTTPS和SSH:
    HTTPS:不管是誰,拿到url隨便clone,但是在push的時候需要驗證用戶名和密碼;
    SSH:clone的專案你必須是擁有者或者管理員,而且需要在clone前添加SSH Key。SSH 在push的時候,是不需要輸入用戶名的,如果配置... ......

    uj5u.com 2023-04-19 08:35:34 more
  • 2023年農牧行業6大CRM系統、5大場景盤點

    在物聯網、大資料、云計算、人工智能、自動化技術等現代資訊技術蓬勃發展與逐步成熟的背景下,數字化正成為農牧行業供給側結構性變革與高質量發展的核心驅動因素。因此,改造和提升傳統農牧業、開拓創新現代智慧農牧業,加快推進農牧業的現代化、資訊化、數字化建設已成為農牧業發展的重要方向。 當下,企業數字化轉型已經 ......

    uj5u.com 2023-04-18 08:05:44 more
  • 2023年農牧行業6大CRM系統、5大場景盤點

    在物聯網、大資料、云計算、人工智能、自動化技術等現代資訊技術蓬勃發展與逐步成熟的背景下,數字化正成為農牧行業供給側結構性變革與高質量發展的核心驅動因素。因此,改造和提升傳統農牧業、開拓創新現代智慧農牧業,加快推進農牧業的現代化、資訊化、數字化建設已成為農牧業發展的重要方向。 當下,企業數字化轉型已經 ......

    uj5u.com 2023-04-18 08:00:18 more
  • 計算機組成原理—存盤器

    計算機組成原理—硬體結構 二、存盤器 1.概述 存盤器是計算機系統中的記憶設備,用來存放程式和資料 1.1存盤器的層次結構 快取-主存層次主要解決CPU和主存速度不匹配的問題,速度接近快取 主存-輔存層次主要解決存盤系統的容量問題,容量接近與價位接近于主存 2.主存盤器 2.1概述 主存與CPU的聯 ......

    uj5u.com 2023-04-17 08:20:31 more
  • 談一談我對協同開發的一些認識

    如今各互聯網公司普通都使用敏捷開發,采用小步快跑的形式來進行專案開發。如果是小專案或者小需求,那一個開發可能就搞定了。但對于電商等復雜的系統,其功能多,結構復雜,一個人肯定是搞不定的,所以都是很多人來共同開發維護。以我曾經待過的商城團隊為例,光是后端開發就有七十多人。 為了更好地開發這類大型系統,往 ......

    uj5u.com 2023-04-17 08:18:55 more
  • 專案管理PRINCE2核心知識點整理

    PRINCE2,即 PRoject IN Controlled Environment(受控環境中的專案)是一種結構化的專案管理方法論,由英國政府內閣商務部(OGC)推出,是英國專案管理標準。
    PRINCE2 作為一種開放的方法論,是一套結構化的專案管理流程,描述了如何以一種邏輯性的、有組織的方法,... ......

    uj5u.com 2023-04-17 08:18:51 more
  • 談一談我對協同開發的一些認識

    如今各互聯網公司普通都使用敏捷開發,采用小步快跑的形式來進行專案開發。如果是小專案或者小需求,那一個開發可能就搞定了。但對于電商等復雜的系統,其功能多,結構復雜,一個人肯定是搞不定的,所以都是很多人來共同開發維護。以我曾經待過的商城團隊為例,光是后端開發就有七十多人。 為了更好地開發這類大型系統,往 ......

    uj5u.com 2023-04-17 08:18:00 more
  • 專案管理PRINCE2核心知識點整理

    PRINCE2,即 PRoject IN Controlled Environment(受控環境中的專案)是一種結構化的專案管理方法論,由英國政府內閣商務部(OGC)推出,是英國專案管理標準。
    PRINCE2 作為一種開放的方法論,是一套結構化的專案管理流程,描述了如何以一種邏輯性的、有組織的方法,... ......

    uj5u.com 2023-04-17 08:17:55 more
  • 計算機組成原理—存盤器

    計算機組成原理—硬體結構 二、存盤器 1.概述 存盤器是計算機系統中的記憶設備,用來存放程式和資料 1.1存盤器的層次結構 快取-主存層次主要解決CPU和主存速度不匹配的問題,速度接近快取 主存-輔存層次主要解決存盤系統的容量問題,容量接近與價位接近于主存 2.主存盤器 2.1概述 主存與CPU的聯 ......

    uj5u.com 2023-04-17 08:12:06 more