关于VC++资源的问题

来源:百度知道 编辑:UC知道 时间:2024/05/11 18:59:05
1 我在我的工程里加入了几个位图资源 是不是在编译后 资源已经进入内存了呢?是存放在什么地方呢?是不是/res文件夹下的资源在编译后都放进了内存?
2 为什么我要让我的一个类的对象和这个位图相关联(attach) 还要将位图载入一个什么全局内存中(::LoadResource()) 并返回一个HGLOBAL句柄 然后才能相关联 为什么不能直接和内存中的资源关联呢 还要弄个副本到什么全局内存中

这个我不太懂 高手解释下 最好通俗和详细点 我会加分的

第一个,编译后资源会打包进你的应用程序,在一个应用程序里,我们只说WINDOWS用的PE结构,会有一个资源段,用来存放你的资源,在这个应用程序启动时会被映射进内存。

第二个,关联的问题只是为了你要让你的程序知道他要处理哪个资源,这只是一个方便简化的过程,没什么意义,方便你的操作,用LOADRESOURCE是为了得到资源句柄,就是和内存中的资源关联了,

e...太难。。。不懂。。。飘过。。

1、编译后你的资源没有放进内存,只是位图的路径放在RC文件里面,每次程序编译的时候都需要加载的。。你可以把图片换个地方,就会提示错误来验证 ,但是当你运行.exe 的时候它已经放到内存中去了
2、因为编译的时候不在内存中,所以你必须先载入内存中,才能关联么,要不然内存中是没有数据的。。。