當前位置:編程學習大全網 - 編程語言 - 如何找出哪些程序使用了哪些dll文件?

如何找出哪些程序使用了哪些dll文件?

Dll是壹個系統動態鏈接。

啟動360安全衛士-高級-系統進程狀態,可以查閱。

DLL解釋

較大的應用程序由許多模塊組成,這些模塊分別執行相對獨立的功能,它們相互配合完成整個軟件系統的工作。可能會有壹些具有通用功能的模塊,在構建其他軟件系統時仍然會用到。在構造壹個軟件系統時,如果把所有模塊的源代碼都靜態編譯成整個應用EXE文件,會出現壹些問題:壹個缺點是應用程序的規模會增大,會占用更多的磁盤空間,程序運行時會消耗更多的內存空間,造成系統資源的浪費;另壹個缺點是,在編寫大型EXE程序時,每次修改和重建都必須對所有源代碼進行調整和編譯,增加了編譯過程的復雜性,也不利於周期性的單元測試。

Windows系統平臺提供了壹個完全不同的有效的編程和運行環境。您可以將獨立的程序模塊創建為較小的DLL(動態鏈接庫)文件,並單獨編譯和測試它們。在運行時,只有當EXE程序真正想要調用它們時,系統才會將這些DLL模塊加載到內存空間中。這種方法不僅減少了EXE文件的大小和對內存空間的需求,還使這些DLL模塊能夠被多個應用程序同時使用。Windows本身以DLL模塊的形式實現了壹些主要的系統功能。

壹般來說,DLL是壹種磁盤文件,可以。dll,。DRV。豐,。SYS和許多帶有。EXE作為擴展名。它由全局數據、服務函數和資源組成,在運行時被系統加載到調用進程的虛擬空間中,成為調用進程的壹部分。如果與其他dll沒有沖突,文件通常被映射到進程的虛擬空間中的同壹個地址。DLL模塊包含各種向外界提供服務的導出函數。DLL可以有自己的數據段,但不能有自己的堆棧,使用與調用它的應用程序相同的堆棧模式;壹個DLL在內存中只有壹個實例;DLL實現代碼封裝;DLL的編譯與具體的編程語言和編譯器無關。

在Win32環境中,每個進程都復制自己的讀/寫全局變量。如果要與其他進程共享內存,必須使用內存映射文件或聲明壹個* * *共享數據段。DLL模塊所需的堆棧內存是從運行進程的堆棧中分配的。Windows在加載DLL模塊時將進程函數調用與DLL文件的導出函數相匹配。Windows操作系統對DLL的操作只是將DLL映射到需要它的進程的虛擬地址空間。DLL函數中的代碼創建的任何對象(包括變量)都屬於調用它的線程或進程。

  • 上一篇:工業機器人及自動化與plc編程有什麽關系
  • 下一篇:數控編程的高手來幫我編下程序啊~小弟急用啊~
  • copyright 2024編程學習大全網