zoukankan      html  css  js  c++  java
  • Windows的MODULE, INSTANCE, IMAGE的区分

    在看windows via C/C++的时候,经常看到module, instance, image这样的字眼。其实这是windows中的一些术语,module就相当于exe, dll文件。在进程的地址空间中,exe, dll都当作module被load。

    所 以windows中的数据结构HMODULE和HINSTANCE是一样一样的,他们的值都是一个地址,就是该module的base address。这也就是为什么像LoadIcon/LoadImage这些函数都需要一个HMODULE的参数一样,他们需要这个参数去这个 module的地址开始去将资源读取出来。exe和dll一般都是通过memory map装载的,如果做过了rebase和binding的话,他们是不占用system storage的,所以在地址空间中读取,就会到磁盘上去读取相应的内容。windows中的exe和dll中是可以包含资源的(位图,图标,对话 框...),这些资源经过资源编译器编译后就会embedded在exe/dll文件中。当然,exe或dll也可以选择不将资源embedded在自己 里面,可以利用LoadImage这样的函数直接读取外部的文件。

    至于image,其实指的就是exe文件。不是图片的意思。
  • 相关阅读:
    【SpringBoot框架学习】yml/yaml语法 详解
    【SpringBoot框架学习】搭建开发环境 详解
    【SpringBoot框架学习】热部署 的配置 详解
    JVM-类加载机制
    JVM-字节码
    JVM-垃圾收集
    JVM-体系结构
    HTTP-报文结构
    TCP-四次挥手
    TCP-三次握手
  • 原文地址:https://www.cnblogs.com/super119/p/2011403.html
Copyright © 2011-2022 走看看