10 个解决方案
#1
你在使用这个资源过程中,资源让修改了怎么办?
#2
锁定资源并得到资源在内存中的第一个字节的指针
#3
资源锁定的目的都是为了防止被别的程序修改。
#4
锁是一种约定,只有大家都遵守这个约定才有效。
表示如果在执行某个操作是否会影响当前操作,如果影响,那就等待或者想其他办法解决,呵呵。
表示如果在执行某个操作是否会影响当前操作,如果影响,那就等待或者想其他办法解决,呵呵。
#5
简单地讲,LockResource是返回资源的指针,以便读取资源数据。
所谓Lock,是将数据在内存中锁定,因为其数据原本是在文件里,必须读到内存中才能被程序使用,不是怕被修改。要想理解清楚这个问题,需要了解内存映射的概念。
所谓Lock,是将数据在内存中锁定,因为其数据原本是在文件里,必须读到内存中才能被程序使用,不是怕被修改。要想理解清楚这个问题,需要了解内存映射的概念。
#6
。。。多线程问题。一个资源,2个或多个线程在使用,必须加锁,保证在某一个时刻只有一个线程能够占有这个资源,直到这个线程把锁放掉
#7
to cnzdgs:
HRSRC hrsrc = FindResource(NULL, lpszResName, RT_DIALOG);
HGLOBAL hglb = LoadResource(g_hinst, hrsrc);
return (DLGTEMPLATE *) LockResource(hglb);
读到内存的操作已经有LoadResource函数操作了
HRSRC hrsrc = FindResource(NULL, lpszResName, RT_DIALOG);
HGLOBAL hglb = LoadResource(g_hinst, hrsrc);
return (DLGTEMPLATE *) LockResource(hglb);
读到内存的操作已经有LoadResource函数操作了
#8
LoadResource与LoadBitmap、LoadIcon等不同,并不是读到内存中,只是等到一个全局句柄,按MSDN的说法是为了backward compatibility,没有实际的意义。
#9
更正错别字:“等”->“得”
#10
是啊 看看哦
#1
你在使用这个资源过程中,资源让修改了怎么办?
#2
锁定资源并得到资源在内存中的第一个字节的指针
#3
资源锁定的目的都是为了防止被别的程序修改。
#4
锁是一种约定,只有大家都遵守这个约定才有效。
表示如果在执行某个操作是否会影响当前操作,如果影响,那就等待或者想其他办法解决,呵呵。
表示如果在执行某个操作是否会影响当前操作,如果影响,那就等待或者想其他办法解决,呵呵。
#5
简单地讲,LockResource是返回资源的指针,以便读取资源数据。
所谓Lock,是将数据在内存中锁定,因为其数据原本是在文件里,必须读到内存中才能被程序使用,不是怕被修改。要想理解清楚这个问题,需要了解内存映射的概念。
所谓Lock,是将数据在内存中锁定,因为其数据原本是在文件里,必须读到内存中才能被程序使用,不是怕被修改。要想理解清楚这个问题,需要了解内存映射的概念。
#6
。。。多线程问题。一个资源,2个或多个线程在使用,必须加锁,保证在某一个时刻只有一个线程能够占有这个资源,直到这个线程把锁放掉
#7
to cnzdgs:
HRSRC hrsrc = FindResource(NULL, lpszResName, RT_DIALOG);
HGLOBAL hglb = LoadResource(g_hinst, hrsrc);
return (DLGTEMPLATE *) LockResource(hglb);
读到内存的操作已经有LoadResource函数操作了
HRSRC hrsrc = FindResource(NULL, lpszResName, RT_DIALOG);
HGLOBAL hglb = LoadResource(g_hinst, hrsrc);
return (DLGTEMPLATE *) LockResource(hglb);
读到内存的操作已经有LoadResource函数操作了
#8
LoadResource与LoadBitmap、LoadIcon等不同,并不是读到内存中,只是等到一个全局句柄,按MSDN的说法是为了backward compatibility,没有实际的意义。
#9
更正错别字:“等”->“得”
#10
是啊 看看哦