⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 csdn_文档中心_[讨论]关于vxd中的地址.htm

📁 csdn10年中间经典帖子
💻 HTM
📖 第 1 页 / 共 2 页
字号:
    <TD bgColor=#f3f9fc height=23 width=10></TD>
    <TD bgColor=#f3f9fc>
      <MARQUEE onmouseout=this.start() onmouseover=this.stop() scrollAmount=5 
      scrollDelay=80>
      <SCRIPT src="CSDN_文档中心_[讨论]关于VXD中的地址.files/marquee.htm"></SCRIPT>
      </MARQUEE></TD>
    <TD align=right bgColor=#f3f9fc width=101>
      <SCRIPT>document.write("<img src=http://count.csdn.net/count/pageview1.asp?columnid=4&itemid=11 border=0 width=0 height=0>");</SCRIPT>
      <B>
      <SCRIPT language=JavaScript>
			<!--
			document.ns = navigator.appName == "Netscape"
			tmpDate = new Date();
			date = tmpDate.getDate();
			month= tmpDate.getMonth() + 1 ; 
			if(document.ns)
			{
				year1=tmpDate.getYear()
				year= year1.toString().substr(1,2);
			}
			else
				year= tmpDate.getYear();
			
			document.write(year);
			document.write(".");
			document.write(month);
			document.write(".");
			document.write(date);
			// -->
			</SCRIPT>
      </B>&nbsp;&nbsp;</TD></TR>
  <TR bgColor=#999999>
    <TD colSpan=3 height=1></TD></TR></TBODY></TABLE>
<TABLE border=0 width=770>
  <TBODY>
  <TR>
    <TD align=middle bgColor=#fafafa class=td1 vAlign=top width=150><BR>
      <SCRIPT src="CSDN_文档中心_[讨论]关于VXD中的地址.files/microsoft.js"></SCRIPT>
    </TD>
    <TD align=middle width=620>
      <TABLE bgColor=#eeeeee border=0 cellPadding=0 cellSpacing=0 width=600>
        <TBODY>
        <TR bgColor=#ffffff>
          <TD align=middle height=10 width=50></TD>
          <TD align=right><A href="http://www.csdn.net/">CSDN</A> - <A 
            href="http://www.csdn.net/develop/">文档中心</A> - <FONT 
            color=#003399>Visual C++</FONT>&nbsp;&nbsp;&nbsp;&nbsp; </TD></TR>
        <TR>
          <TD align=middle height=5></TD>
          <TD align=middle width=500></TD></TR>
        <TR>
          <TD align=middle bgColor=#003399 height=10><FONT 
            color=#ffffff>标题</FONT></TD>
          <TD><B>&nbsp;&nbsp;&nbsp;&nbsp;[讨论]关于VXD中的地址</B>&nbsp;&nbsp;&nbsp;&nbsp;ghj1976(转贴) 
          </TD></TR>
        <TR>
          <TD align=middle height=5></TD>
          <TD align=middle width=500></TD></TR>
        <TR>
          <TD align=middle bgColor=#003399><FONT color=#ffffff>关键字</FONT></TD>
          <TD width=500>&nbsp;&nbsp;&nbsp;&nbsp;[讨论]关于VXD中的地址</TD></TR>
        <TR>
          <TD align=middle height=5></TD>
          <TD align=middle width=500></TD></TR>
        <TR>
          <TD align=middle bgColor=#003399 height=10><FONT 
            color=#ffffff>出处</FONT></TD>
          <TD height=10>&nbsp;&nbsp;&nbsp;&nbsp;<A 
            href="http://my.szptt.net.cn/vcdynasty/tips/vxd/3.htm">http://my.szptt.net.cn/vcdynasty/tips/vxd/3.htm</A></TD></TR>
        <TR>
          <TD align=middle height=10></TD>
          <TD height=10></TD></TR></TBODY></TABLE><!--文章说明信息结束//-->
      <TABLE border=0 width=600>
        <TBODY>
        <TR>
          <TD align=left><BR>
            <P align=center>&nbsp;</P>
            <P 
            align=left>发信人:&nbsp;wwwwww&nbsp;(困困),&nbsp;信区:&nbsp;Programming&nbsp;<BR>标&nbsp;&nbsp;题:&nbsp;关于VXD的问题&nbsp;<BR>发信站:&nbsp;BBS&nbsp;水木清华站&nbsp;(Mon&nbsp;Feb&nbsp;16&nbsp;02:46:39&nbsp;1998)&nbsp;<BR>&nbsp;<BR>VXD相对于所有的应用程序都是全局的,&nbsp;<BR>也就是说应用程序可以直接存取VXD中的&nbsp;<BR>全局变量。这是经过证实的。&nbsp;<BR>现在的疑问是:&nbsp;<BR>&nbsp;&nbsp;1。所有的VXD都在同一线性地址空间里吗?&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;这个线性地址空间的长度最多是多少呢?&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;如果是4GB,那别的应用程序又怎么能看得见这些VXD呢?&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;如果看不见那是不可能实现前面所说的数据共享的。&nbsp;<BR>&nbsp;&nbsp;2。VXD也有数据段,代码段吧?因为在写VXD时就有这些概念,&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;这样可以利于维护代码段的只读特性。想问的是:这些数据段,&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;和代码段也是在同一线性地址空间里了?&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<BR>&nbsp;<BR>--&nbsp;<BR>※&nbsp;来源:·BBS&nbsp;水木清华站&nbsp;bbs.net.tsinghua.edu.cn·[FROM:&nbsp;166.111.8.130]&nbsp;<BR>发信人:&nbsp;Cohen&nbsp;(Tommy),&nbsp;信区:&nbsp;Programming&nbsp;<BR>标&nbsp;&nbsp;题:&nbsp;Re:&nbsp;关于VXD的问题&nbsp;<BR>发信站:&nbsp;BBS&nbsp;水木清华站&nbsp;(Mon&nbsp;Feb&nbsp;16&nbsp;15:19:08&nbsp;1998)&nbsp;<BR>&nbsp;<BR>【&nbsp;在&nbsp;wwwwww&nbsp;(困困)&nbsp;的大作中提到:&nbsp;】&nbsp;<BR>∶<I>&nbsp;VXD相对于所有的应用程序都是全局的,&nbsp;</I><BR>∶<I>&nbsp;也就是说应用程序可以直接存取VXD中的&nbsp;</I><BR>∶<I>&nbsp;全局变量。这是经过证实的。&nbsp;</I><BR>∶<I>&nbsp;现在的疑问是:&nbsp;</I><BR>∶<I>&nbsp;&nbsp;&nbsp;1。所有的VXD都在同一线性地址空间里吗?nbsp;</I><BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;^^^^^^^^^^^^^^^^^^^^&nbsp;好象是这样的,从微软提供的资料看&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;VXD占用了2G以上的系统空间,而应用程序&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;空间在2G以下&nbsp;&nbsp;?nbsp;<BR>∶<I>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;这个线性地址空间的长度最多是多少呢?&nbsp;</I><BR>∶<I>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;如果是4GB,那别的应用程序又怎么能看得见这些VXD呢?&nbsp;</I><BR>∶<I>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;如果看不见那是不可能实现前面所说的数据共享的。&nbsp;</I><BR>∶<I>&nbsp;&nbsp;&nbsp;2。VXD也有数据段,代码段吧?因为在写VXD时就有这些概念,&nbsp;</I><BR>∶<I>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;这样可以利于维护代码段的只读特性。想问的是:这些数据段,&nbsp;</I><BR>∶<I>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;和代码段也是在同一线性地址空间里了?&nbsp;</I><BR>&nbsp;<BR>&nbsp;<BR>--&nbsp;<BR>※&nbsp;来源:·BBS&nbsp;水木清华站&nbsp;bbs.net.tsinghua.edu.cn·[FROM:&nbsp;166.111.74.242]&nbsp;<BR>发信人:&nbsp;suxm&nbsp;(笨笨),&nbsp;信区:&nbsp;Programming&nbsp;<BR>标&nbsp;&nbsp;题:&nbsp;Re:&nbsp;关于VXD的问题&nbsp;<BR>发信站:&nbsp;BBS&nbsp;水木清华站&nbsp;(Mon&nbsp;Feb&nbsp;16&nbsp;16:40:32&nbsp;1998)&nbsp;<BR>&nbsp;<BR>【&nbsp;在&nbsp;wwwwww&nbsp;(困困)&nbsp;的大作中提到:&nbsp;】&nbsp;<BR>∶<I>&nbsp;VXD相对于所有的应用程序都是全局的,&nbsp;</I><BR>∶<I>&nbsp;也就是说应用程序可以直接存取VXD中的&nbsp;</I><BR>∶<I>&nbsp;全局变量。这是经过证实的。&nbsp;</I><BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;~~~~~~~~&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;的确是这样的&nbsp;<BR>&nbsp;<BR>∶<I>&nbsp;现在的疑问是:&nbsp;</I><BR>∶<I>&nbsp;&nbsp;&nbsp;1。所有的VXD都在同一线性地址空间里吗?&nbsp;</I><BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;~~~~~~~~~~~~~~~~~&nbsp;&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;是&nbsp;&nbsp;<BR>&nbsp;<BR>∶<I>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;这个线性地址空间的长度最多是多少呢?&nbsp;</I><BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;~~~~~~~~~~~~~&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2GB&nbsp;<BR>&nbsp;<BR>∶<I>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;如果是4GB,那别的应用程序又怎么能看得见这些VXD呢?&nbsp;</I><BR>∶<I>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;如果看不见那是不可能实现前面所说的数据共享的。&nbsp;</I><BR>&nbsp;<BR>&nbsp;&nbsp;&nbsp;每一个应用程序的前2GB空间都有一份系统VXD的拷贝。&nbsp;<BR>&nbsp;&nbsp;&nbsp;这些拷贝映射为同一内存RAM地址。&nbsp;<BR>&nbsp;&nbsp;&nbsp;这样说来应用程序只能占用2GB-----4GB之间的地址空间了。&nbsp;<BR>&nbsp;<BR>&nbsp;<BR>∶<I>&nbsp;&nbsp;&nbsp;2。VXD也有数据段,代码段吧?因为在写VXD时就有这些概念,&nbsp;</I><BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;~~~~~~~~~~~~~~~~&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;cs=ds=ss,在flat&nbsp;mode下请忘记段的概念,虽然CPU&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;仍在防护情况下使用着段&nbsp;<BR>&nbsp;<BR>∶<I>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;这样可以利于维护代码段的只读特性。想问的是:这些数据段,&nbsp;</I><BR>∶<I>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;和代码段也是在同一线性地址空间里了?&nbsp;</I><BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;~~~~~~~~~~~~~~~~~&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;因为CS=DS=SS所以定在同一地址空间里&nbsp;<BR>--&nbsp;<BR>___________________&nbsp;<BR>吃睡吃睡吃睡吃睡吃睡&nbsp;<BR>___________________&nbsp;<BR>&nbsp;<BR>※&nbsp;修改:·suxm&nbsp;於&nbsp;Feb&nbsp;16&nbsp;18:46:06&nbsp;修改本文·[FROM:&nbsp;&nbsp;&nbsp;166.111.8.153]&nbsp;<BR>※&nbsp;修改:·suxm&nbsp;於&nbsp;Feb&nbsp;16&nbsp;18:52:16&nbsp;修改本文·[FROM:&nbsp;&nbsp;&nbsp;166.111.8.153]&nbsp;<BR>※&nbsp;来源:·BBS&nbsp;水木清华站&nbsp;bbs.net.tsinghua.edu.cn·[FROM:&nbsp;166.111.146.241]&nbsp;<BR>发信人:&nbsp;wwwwww&nbsp;(困困),&nbsp;信区:&nbsp;Programming&nbsp;<BR>标&nbsp;&nbsp;题:&nbsp;Re:&nbsp;关于VXD的问题&nbsp;<BR>发信站:&nbsp;BBS&nbsp;水木清华站&nbsp;(Mon&nbsp;Feb&nbsp;16&nbsp;18:58:51&nbsp;1998)&nbsp;<BR>&nbsp;<BR>多谢大侠指点。&nbsp;<BR>小弟还有一事不明:&nbsp;<BR>如果32位应用程序与VXD在同一4GB的空间内,&nbsp;<BR>那应用程序自然可以利用指针直接存取VXD中的全局变量。&nbsp;<BR>不明白的是:那VXD可以利用指针直接存取应用程序中的&nbsp;<BR>全局变量吗?如果可以的话,那岂不乱套了?-----如果&nbsp;<BR>同时运行两份应用程序的拷贝,那VXD存取的是哪个应用程序&nbsp;<BR>中的全局变量呢?&nbsp;<BR>&nbsp;<BR>&nbsp;<BR>【&nbsp;在&nbsp;suxm&nbsp;(笨笨)&nbsp;的大作中提到:&nbsp;】&nbsp;<BR>∶<I>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;~~~~~~~~&nbsp;</I><BR>∶<I>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;的确是这样的&nbsp;</I><BR>∶<I>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;~~~~~~~~~~~~~~~~~&nbsp;&nbsp;</I><BR>∶<I>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;是&nbsp;&nbsp;</I><BR>∶<I>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;~~~~~~~~~~~~~&nbsp;</I><BR>∶<I>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2GB&nbsp;</I><BR>∶<I>&nbsp;&nbsp;&nbsp;&nbsp;每一个应用程序的前2GB空间都有一份系统VXD的拷贝。&nbsp;</I><BR>∶<I>&nbsp;&nbsp;&nbsp;&nbsp;这些拷贝映射为同一内存RAM地址。&nbsp;</I><BR>∶<I>&nbsp;&nbsp;&nbsp;&nbsp;这样说来应用程序只能占用2GB-----4GB之间的地址空间了。&nbsp;</I><BR>∶<I>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;~~~~~~~~~~~~~~~~&nbsp;</I><BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<BR>&nbsp;<BR>∶<I>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;cs=ds=ss,在flat&nbsp;mode下请忘记段的概念,虽然CPU&nbsp;</I><BR>∶<I>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;仍在防护情况下使用着段&nbsp;</I><BR>∶<I>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;~~~~~~~~~~~~~~~~~&nbsp;</I><BR>∶<I>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;因为CS=DS=SS所以定在同一地址空间里&nbsp;</I><BR>&nbsp;<BR>&nbsp;<BR>--&nbsp;<BR>※&nbsp;来源:·BBS&nbsp;水木清华站&nbsp;bbs.net.tsinghua.edu.cn·[FROM:&nbsp;166.111.8.153]&nbsp;<BR>发信人:&nbsp;wwj&nbsp;(红尘一笑),&nbsp;信区:&nbsp;Programming&nbsp;<BR>标&nbsp;&nbsp;题:&nbsp;Re:&nbsp;关于VXD的问题&nbsp;<BR>发信站:&nbsp;BBS&nbsp;水木清华站&nbsp;(Tue&nbsp;Feb&nbsp;17&nbsp;08:49:02&nbsp;1998)&nbsp;<BR>&nbsp;<BR>【&nbsp;在&nbsp;wwwwww&nbsp;(困困)&nbsp;的大作中提到:&nbsp;】&nbsp;<BR>&nbsp;<BR>&nbsp;&nbsp;&nbsp;Win95的Win32部分并不是以段管理为主的,它所有的虚地址及其保护特性&nbsp;<BR>基本上都是用页管理来完成.&nbsp;<BR>&nbsp;<BR>∶<I>&nbsp;如果32位应用程序与VXD在同一4GB的空间内,&nbsp;</I><BR>∶<I>&nbsp;那应用程序自然可以利用指针直接存取VXD中的全局变量。&nbsp;</I><BR>&nbsp;<BR>VXD所在的虚地址在每个VM中都是一样的.但从操作系统的角度说,这片区域应&nbsp;<BR>该不让应用程序可以读写到.Win95设计上出于效率和某些方面的考虑,这些区&nbsp;<BR>域可以从应用程序级读到,甚至某些地方还可以被应用程序写.&nbsp;<BR>&nbsp;<BR>∶<I>&nbsp;不明白的是:那VXD可以利用指针直接存取应用程序中的&nbsp;</I><BR>∶<I>&nbsp;全局变量吗?如果可以的话,那岂不乱套了?-----如果&nbsp;</I><BR>∶<I>&nbsp;同时运行两份应用程序的拷贝,那VXD存取的是哪个应用程序&nbsp;</I><BR>∶<I>&nbsp;中的全局变量呢?&nbsp;</I><BR>&nbsp;<BR>从VXD的角度看来,低2G的空间是应用程序相关的.也就是说,当CPU运行&nbsp;<BR>到VXD的某段代码时,VXD所看到的低2G的空间是这个VM印象,并不能指定是哪&nbsp;<BR>个应用的;究竟是哪个应用,VXD应该进行ProcessID的判断.在原则上,操作系统&nbsp;<BR>是能读写应用的数据的.&nbsp;<BR>&nbsp;<BR>--&nbsp;<BR>※&nbsp;来源:·BBS&nbsp;水木清华站&nbsp;bbs.net.tsinghua.edu.cn·[FROM:&nbsp;166.111.8.123]&nbsp;<BR>发信人:&nbsp;holly&nbsp;(holly),&nbsp;信区:&nbsp;Programming&nbsp;<BR>标&nbsp;&nbsp;题:&nbsp;Re:&nbsp;关于VXD的问题&nbsp;<BR>发信站:&nbsp;BBS&nbsp;水木清华站&nbsp;(Tue&nbsp;Feb&nbsp;17&nbsp;11:20:06&nbsp;1998)&nbsp;<BR>&nbsp;<BR>【&nbsp;在&nbsp;wwj&nbsp;(红尘一笑)&nbsp;的大作中提到:&nbsp;】&nbsp;<BR>∶<I>&nbsp;&nbsp;&nbsp;&nbsp;Win95的Win32部分并不是以段管理为主的,它所有的虚地址及其保护特性&nbsp;</I><BR>∶<I>&nbsp;基本上都是用页管理来完成.&nbsp;</I><BR>∶<I>&nbsp;VXD所在的虚地址在每个VM中都是一样的.但从操作系统的角度说,这片区域应&nbsp;</I><BR>∶<I>&nbsp;该不让应用程序可以读写到.Win95设计上出于效率和某些方面的考虑,这些区&nbsp;</I><BR>∶<I>&nbsp;域可以从应用程序级读到,甚至某些地方还可以被应用程序写.&nbsp;</I><BR>&nbsp;<BR>...&nbsp;No.&nbsp;Vxd&nbsp;Running&nbsp;on&nbsp;ring&nbsp;0&nbsp;and&nbsp;Apps&nbsp;running&nbsp;on&nbsp;Ring&nbsp;3&nbsp;<BR>&nbsp;<BR>&nbsp;<BR>∶<I>&nbsp;从VXD的角度看来,低2G的空间是应用程序相关的.也就是说,当CPU运行&nbsp;</I><BR>∶<I>&nbsp;到VXD的某段代码时,VXD所看到的低2G的空间是这个VM印象,并不能指定是哪&nbsp;</I><BR>∶<I>&nbsp;个应用的;究竟是哪个应用,VXD应该进行ProcessID的判断.在原则上,操作系统&nbsp;</I><BR>∶<I>&nbsp;是能读写应用的数据的.&nbsp;</I><BR>&nbsp;<BR>&nbsp;<BR>--&nbsp;<BR>※&nbsp;来源:·BBS&nbsp;水木清华站&nbsp;bbs.net.tsinghua.edu.cn·[FROM:&nbsp;202.120.26.243]&nbsp;<BR>发信人:&nbsp;suxm&nbsp;(笨笨),&nbsp;信区:&nbsp;Programming&nbsp;<BR>标&nbsp;&nbsp;题:&nbsp;Re:&nbsp;关于VXD的问题&nbsp;<BR>发信站:&nbsp;BBS&nbsp;水木清华站&nbsp;(Tue&nbsp;Feb&nbsp;17&nbsp;12:50:38&nbsp;1998)&nbsp;<BR>&nbsp;<BR>&nbsp;<BR>Memory&nbsp;allocated&nbsp;in&nbsp;a&nbsp;VxD&nbsp;is&nbsp;globally,and&nbsp;can&nbsp;be&nbsp;shared&nbsp;with&nbsp;&nbsp;<BR>applications.Memory&nbsp;that&nbsp;an&nbsp;application&nbsp;allocates&nbsp;may&nbsp;be&nbsp;in&nbsp;a&nbsp;<BR>process&nbsp;specific&nbsp;region&nbsp;of&nbsp;the&nbsp;memory&nbsp;map.In&nbsp;this&nbsp;case,the&nbsp;VxD&nbsp;<BR>cannot&nbsp;access&nbsp;that&nbsp;memory&nbsp;unless&nbsp;the&nbsp;current&nbsp;memory&nbsp;context&nbsp;is&nbsp;&nbsp;<BR>that&nbsp;of&nbsp;the&nbsp;process.&nbsp;&nbsp;<BR>&nbsp;<BR>&nbsp;<BR>&nbsp;<BR>【&nbsp;在&nbsp;wwwwww&nbsp;(困困)&nbsp;的大作中提到:&nbsp;】&nbsp;<BR>∶<I>&nbsp;多谢大侠指点。&nbsp;</I><BR>∶<I>&nbsp;小弟还有一事不明:&nbsp;</I><BR>∶<I>&nbsp;如果32位应用程序与VXD在同一4GB的空间内,&nbsp;</I><BR>∶<I>&nbsp;那应用程序自然可以利用指针直接存取VXD中的全局变量。&nbsp;</I><BR>∶<I>&nbsp;不明白的是:那VXD可以利用指针直接存取应用程序中的&nbsp;</I><BR>∶<I>&nbsp;全局变量吗?如果可以的话,那岂不乱套了?-----如果&nbsp;</I><BR>∶<I>&nbsp;同时运行两份应用程序的拷贝,那VXD存取的是哪个应用程序&nbsp;</I><BR>∶<I>&nbsp;中的全局变量呢?&nbsp;</I><BR>&nbsp;<BR>&nbsp;<BR>--&nbsp;<BR>___________________&nbsp;<BR>吃睡吃睡吃睡吃睡吃睡&nbsp;<BR>___________________&nbsp;<BR>&nbsp;<BR>※&nbsp;来源:·BBS&nbsp;水木清华站&nbsp;bbs.net.tsinghua.edu.cn·[FROM:&nbsp;166.111.8.142]&nbsp;<BR>发信人:&nbsp;suxm&nbsp;(笨笨),&nbsp;信区:&nbsp;Programming&nbsp;<BR>标&nbsp;&nbsp;题:&nbsp;Re:&nbsp;关于VXD的问题&nbsp;<BR>发信站:&nbsp;BBS&nbsp;水木清华站&nbsp;(Tue&nbsp;Feb&nbsp;17&nbsp;12:51:55&nbsp;1998)&nbsp;<BR>&nbsp;<BR>No.Can.&nbsp;<BR>See&nbsp;the&nbsp;examples&nbsp;of&nbsp;the&nbsp;win95&nbsp;ddk.&nbsp;<BR>&nbsp;<BR>&nbsp;<BR>&nbsp;<BR>【&nbsp;在&nbsp;holly&nbsp;(holly)&nbsp;的大作中提到:&nbsp;】&nbsp;<BR>∶<I>&nbsp;...&nbsp;No.&nbsp;Vxd&nbsp;Running&nbsp;on&nbsp;ring&nbsp;0&nbsp;and&nbsp;Apps&nbsp;running&nbsp;on&nbsp;Ring&nbsp;3&nbsp;</I><BR>&nbsp;<BR>&nbsp;<BR>--&nbsp;<BR>___________________&nbsp;<BR>吃睡吃睡吃睡吃睡吃睡&nbsp;<BR>___________________&nbsp;<BR>&nbsp;<BR>※&nbsp;来源:·BBS&nbsp;水木清华站&nbsp;bbs.net.tsinghua.edu.cn·[FROM:&nbsp;166.111.8.142]&nbsp;<BR>发信人:&nbsp;Dreammy&nbsp;(这个杀手不太冷),&nbsp;信区:&nbsp;Programming&nbsp;<BR>标&nbsp;&nbsp;题:&nbsp;Re:&nbsp;关于VXD的问题&nbsp;<BR>发信站:&nbsp;BBS&nbsp;水木清华站&nbsp;(Tue&nbsp;Feb&nbsp;24&nbsp;09:01:42&nbsp;1998)&nbsp;<BR>&nbsp;<BR>【&nbsp;在&nbsp;wwwwww&nbsp;(困困)&nbsp;的大作中提到:&nbsp;】&nbsp;<BR>∶<I>&nbsp;多谢大侠指点。&nbsp;</I><BR>∶<I>&nbsp;小弟还有一事不明:&nbsp;</I><BR>∶<I>&nbsp;如果32位应用程序与VXD在同一4GB的空间内,&nbsp;</I><BR>∶<I>&nbsp;那应用程序自然可以利用指针直接存取VXD中的全局变量。&nbsp;</I><BR>∶<I>&nbsp;不明白的是:那VXD可以利用指针直接存取应用程序中的&nbsp;</I><BR>∶<I>&nbsp;全局变量吗?如果可以的话,那岂不乱套了?-----如果&nbsp;</I><BR>∶<I>&nbsp;同时运行两份应用程序的拷贝,那VXD存取的是哪个应用程序&nbsp;</I><BR>∶<I>&nbsp;中的全局变量呢?&nbsp;</I><BR>实际上,在95和31中这个问题都可以提的,是个概念问题&nbsp;<BR>&nbsp;<BR>在95中之所以叫做FLAT无非是因为所有WIN32应用的代码段&nbsp;<BR>都是一样的,而在31下大家是同一个4GB的线性地址,所以&nbsp;<BR>从这个角度讲,是一样的&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;在31中,全局页表和局部页表是相同的,那么RING0所&nbsp;<BR>在内存区域是采用设置叶面属性的方法解决的&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;在95中&nbsp;<BR>全局页表和局部页表是不同的,@而且各WIN32应用的&nbsp;<BR>局部页表也不同&nbsp;,所以对不同进程,线性地址与物理&nbsp;<BR>地址映射不同&nbsp;,&nbsp;大家在不同的线性空间里。&nbsp;<BR>&nbsp;<BR>--&nbsp;<BR>※&nbsp;来源:·BBS&nbsp;水木清华站&nbsp;bbs.net.tsinghua.edu.cn·[FROM:&nbsp;166.111.6.26]&nbsp;<BR></P><BR></TD></TR></TBODY></TABLE></TD></TR></TBODY></TABLE><BR>
<TABLE align=center bgColor=#006699 border=0 cellPadding=0 cellSpacing=0 
width=770>
  <TBODY>
  <TR bgColor=#006699>
    <TD align=middle bgColor=#006699 id=white><FONT 
    color=#ffffff>对该文的评论</FONT></TD>
    <TD align=middle>
      <SCRIPT src="CSDN_文档中心_[讨论]关于VXD中的地址.files/readnum.htm"></SCRIPT>
    </TD></TR></TBODY></TABLE><BR>
<DIV align=center>
<TABLE align=center bgColor=#cccccc border=0 cellPadding=2 cellSpacing=1 
width=770>
  <TBODY>
  <TR>
    <TH bgColor=#006699 id=white><FONT 
color=#ffffff>我要评论</FONT></TH></TR></TBODY></TABLE></DIV>
<DIV align=center>
<TABLE border=0 width=770>
  <TBODY>
  <TR>
    <TD>你没有登陆,无法发表评论。 请先<A 
      href="http://www.csdn.net/member/login.asp?from=/Develop/read_article.asp?id=1525">登陆</A> 
      <A 
href="http://www.csdn.net/expert/zc.asp">我要注册</A><BR></TD></TR></TBODY></TABLE></DIV><BR>
<HR noShade SIZE=1 width=770>

<TABLE border=0 cellPadding=0 cellSpacing=0 width=500>
  <TBODY>
  <TR align=middle>
    <TD height=10 vAlign=bottom><A 
      href="http://www.csdn.net/intro/intro.asp?id=2">网站简介</A> - <A 
      href="http://www.csdn.net/intro/intro.asp?id=5">广告服务</A> - <A 
      href="http://www.csdn.net/map/map.shtm">网站地图</A> - <A 
      href="http://www.csdn.net/help/help.asp">帮助信息</A> - <A 
      href="http://www.csdn.net/intro/intro.asp?id=2">联系方式</A> - <A 
      href="http://www.csdn.net/english">English</A> </TD>
    <TD align=middle rowSpan=3><A 
      href="http://www.hd315.gov.cn/beian/view.asp?bianhao=010202001032100010"><IMG 
      border=0 height=48 src="CSDN_文档中心_[讨论]关于VXD中的地址.files/biaoshi.gif" 
      width=40></A></TD></TR>
  <TR align=middle>
    <TD vAlign=top>百联美达美公司 版权所有 京ICP证020026号</TD></TR>
  <TR align=middle>
    <TD vAlign=top><FONT face=Verdana>Copyright &copy; CSDN.net, Inc. All rights 
      reserved</FONT></TD></TR>
  <TR>
    <TD height=15></TD>
    <TD></TD></TR></TBODY></TABLE></DIV>
<DIV></DIV><!--内容结束//--><!--结束//--></BODY></HTML>

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -