什么是 CLR由那些部分焊条的组成和作用,各自的作用是什么?求解答

您所在位置: &
&nbsp&&nbsp&nbsp&&nbsp
《单片机原理及应用》友锐主编课后习题答案-zyf.doc 32页
本文档一共被下载:
次 ,您可全文免费在线阅读后下载本文档。
下载提示
1.本站不保证该用户上传的文档完整性,不预览、不比对内容而直接下载产生的反悔问题本站不予受理。
2.该文档所得收入(下载+内容+预览三)归上传者、原创者。
3.登录后可充值,立即自动返金币,充值渠道很便利
《单片机原理及应用》友锐主编课后习题答案-zyf
你可能关注的文档:
··········
··········
1-1 什么是单片机?它与一般微型计算机在结构上何区别?
答:单片微型计算机简称为单片机(Single Chip Computer),又称为微控制器(MCU即Micro-Controller Unit)。它是在一块芯片上集成了中央处理器(CPU)、存储器(RAM、ROM)、定时器/计数器、中断控制、各种输入/输出(I/O)接口(如并行I/O口、串行I/O口和A/D转换器)等为一体的器件。
微型计算机的基本结构由CPU(运算器、控制器)、存储器、输入设备和输出设备五大部分组成,各部分通过外部总线连接而成为一体。单片机的结构是在一块芯片上集成了中央处理器(CPU)、存储器、定时器/计数器、中断控制、各种输入/输出接口(如并行I/O口、串行I/O口和A/D转换器)等,它们通过单片机内部部总线连接而成为一体。
1-2 MCS-51系列单片机内部资源配置如何?试举例说明8051与51兼容的单片机的异同。
答:MCS-51系列单片机内部资源配置
AT89S53 12KB
Flash ROM 256B 3×16 32 1 9/2 SPI,WDT,2个数据指针
W77E58 32KB
Flash ROM 256B+
36 2 12/2 扩展了4位I/O口,双数据指针,WDT。
MCS-51系列单片机内部有哪些主要的逻辑部件?
答: 一个8位CPU;一个片内振荡器及时钟电路;4K字节ROM程序存储器;128字节RAM数据存储器;两个16位定时器/计数器;可寻址64K外部数据存储器和64K外部程序存储器空间的控制电路;32条可编程的I/O线(四个8位并行I/O端口);一个可编程全双工串行口;具有五个中断源、两个优先级嵌套中断结构
MCS-51设有4个8位端口(32条I/O线),实际应用中8位数据信息由哪一个端口传送?16位地址线怎样形成?P3口有何功能?
答:实际应用中8位数据信息由P0口传送。16位地址线由P0口输出低8位地址A7~A0,P2口输出高8位地址A15~A8。P3口是一个多用途的端口,也是一个准双向口,作为第一功能使用时,其功能同P1口;当作第二功能使用时,P3.0—RXD串行输入(数据接收)口,P3.1—TXD串行输出(数据发送)口,P3.2—外部中断0输入线,P3.3—外部中断1输入线,P3.4—T0定时器0外部输入,P3.5—T1定时器1外部输入,P3.6—外部数据存储器写选通信号输出,P3.7—外部数据存储器读选通信号输入。
2-3 MCS-51的存储器结构与一般的微型计算机有何不同?程序存储器和数据存储器各有何作用?
答:MCS-51存储器结构与常见的微型计算机的配置方式不同,它把程序存储器和数据存储器分开,各有自已的寻址系统、控制信号和功能。
程序存储器用来存放程序和始终要保留的常数,如经汇编后所编程序的机器码。数据存储器通常用来存放程序运行中所需要的常数或变量,例如模/数转换时实时采集的数据等。
MCS-51内部RAM区功能结构如何分配?4组工作寄存器使用时如何选用?位寻址区域的字节地址范围是多少?
答:MCS-51系列单片机内部数据存储器:00H ~ 7FH单元组成的低128字节地址空间的RAM区,又分为为工作寄存器区(00H~1FH)、位寻址区(20H~2FH)和用户RAM区(30H~7FH)。
80H ~ FFH(128 ~255)单元组成的高128字节地址空间的特殊功能寄存器(又称SFR)区。对于、8752的单片机还有80H~FFH单元组成的高128字节地址空间的RAM区。
4组工作寄存区是由程序状态字PSW(特殊功能寄存器,字节地址为0D0H)中的D4、D3位(RS1和RS0)来决定的。
位寻址区域的字节地址范围是20H~2FH(对应的位地址范围是00H~7FH)。
2-5 特殊功能寄存器中哪些寄存器可以位寻址?它们的字节地址是什么?
答:P0字节地址80H,TCON字节地址88H,P1字节地址90H,SCON字节地址98H,P2字节地址A0H,IE字节地址A8H,P3字节地址B0H,IP字节地址B8H,PSW字节地址D0H,ACC字节地址E0H,B字节地址F0H。
2-6 简述程序状态字PSW中各位的含义。
答:CY(PSW·7)进位标志,AC(PSW·6)辅助进位标志,F0(PSW·5)用户标志位,RS1、RS0(PSW·4、PSW·3)寄存器区选择控制位,OV(PSW·2)溢出标志,P(PSW.0)奇偶标志,每个指令周期都由硬件来置位或清“0”,以表示累加器A 中1的位数的奇偶数.
2-7 一个时钟频率为6MHz的单片机应用系统,它的振荡信号周期
正在加载中,请稍后...
233页257页198页16页305页266页31页160页23页25页噢哦,这个页面找不到了
下载作业帮可以找到更多答案无法使用 HRESULT 0x 初始化公共语言运行时(CLR) v2.0.50727。您需要重新启动 SQL Server 才能使用 CLR 集成功能。
时间: 20:58:43
我们的服务器装了一个windows server 2008 企业版 service pack2& + SQL Server 2008 sp1&&&&问题1,在脱机和局域网访问数据库的时候是没有任何日志报错,但是,一旦把服务器连接网线以后整个系统变得很慢,并且系统日志提示:“无法使用 HRESULT 0x 初始化公共语言运行时(CLR) v2.0.50727。您需要重新启动 SQL Server 才能使用 CLR 集成功能。 ” 请问这是什么原因?&&&&备注:每当联机时重新启动服务器,系统进入桌面非常慢,并系统日志报上述同样的错误!(要想恢复数据库正常工作,必须重新启动 SQL Server)&&&&&&&&&问题2,当系统正常运行时出现日志信息“由于内存不足,将 AppDomain 1442 (mssqlsystemresource.sys[runtime].1968)标记为要卸载。”&&&&&&&&&我们的服务器装了一个windows server 2008 企业版 service pack2& + SQL Server 2008 sp1&&&&问题1,在脱机和局域网访问数据库的时候是没有任何日志报错,但是,一旦把服务器连接网线以后整个系统变得很慢,并且系统日志提示:“无法使用 HRESULT 0x 初始化公共语言运行时(CLR) v2.0.50727。您需要重新启动 SQL Server 才能使用 CLR 集成功能。 ” 请问这是什么原因?&&&&备注:每当联机时重新启动服务器,系统进入桌面非常慢,并系统日志报上述同样的错误!(要想恢复数据库正常工作,必须重新启动 SQL Server)&&&&问题2,当系统正常运行时出现日志信息“由于内存不足,将 AppDomain 1442 (mssqlsystemresource.sys[runtime].1968)标记为要卸载。”&&&&&&&&你好,&&&&对于问题一,这篇微软的KB文档的error message 3 和error message 6说的就是这个错误“Failed to initialize the Common Language Runtime (CLR) v2.0.50727 with HRESULT 0x. You need to restart SQL server to use CLR integration features.”&&&&文档说要解决这个问题,可能的方法是重新安装.Netframework2.0, 详细信息请参考文档:http://support.microsoft.com/kb/2003681 .&&&&对于问题二, 请参考:http://support.microsoft.com/default.aspx?scid=EN-US;969962 .&&&&Thanks,&&&&Amy Peng&&&&&&&&Please remember to click &Mark as Answer& and &Vote as Helpful& on posts that help you. This can be beneficial to other community members reading the thread.&&&&感觉可能跟你的CLR有问题?CLR使用的.NET FRAMWORK版本是多少?&&&&由于内存不足,将 AppDomain 1442 (mssqlsystemresource.sys[runtime].1968)标记为要卸载&&&&这个错误是内存不足,查一下你的数据库是不是有内存压力?会不会跟CLR有关(内存泄露?)你说连上网线之后系统变得很慢,但你又说局域网访问没有任何报错?你不插上网线怎么连接局域网?&&&&根据你给出的错误信息怀疑你的 “mssqlsystemresource系统数据库”有损坏&&&&&&&&给我写信: &&&& QQ我:&&&&Nothing to do with mssqlsystemresource here.&&&&我们的服务器装了一个windows server 2008 企业版 service pack2& + SQL Server 2008 sp1&&&&问题1,在脱机和局域网访问数据库的时候是没有任何日志报错,但是,一旦把服务器连接网线以后整个系统变得很慢,并且系统日志提示:“无法使用 HRESULT 0x 初始化公共语言运行时(CLR) v2.0.50727。您需要重新启动 SQL Server 才能使用 CLR 集成功能。 ” 请问这是什么原因?&&&&备注:每当联机时重新启动服务器,系统进入桌面非常慢,并系统日志报上述同样的错误!(要想恢复数据库正常工作,必须重新启动 SQL Server)&&&&&&&&问题2,当系统正常运行时出现日志信息“由于内存不足,将 AppDomain 1442 (mssqlsystemresource.sys[runtime].1968)标记为要卸载。”&&&&&&&&&&&&1. did you enable clr on the server? Need restart sql service after enabling it.&&&&2. it's normal, sql will release appdomain if it's not used for certain time. But you should check server memory usage and ensure no memory leak caused by clr, it's outside of sql.&&&&我们的服务器装了一个windows server 2008 企业版 service pack2& + SQL Server 2008 sp1&&&&问题1,在脱机和局域网访问数据库的时候是没有任何日志报错,但是,一旦把服务器连接网线以后整个系统变得很慢,并且系统日志提示:“无法使用 HRESULT 0x 初始化公共语言运行时(CLR) v2.0.50727。您需要重新启动 SQL Server 才能使用 CLR 集成功能。 ” 请问这是什么原因?&&&&备注:每当联机时重新启动服务器,系统进入桌面非常慢,并系统日志报上述同样的错误!(要想恢复数据库正常工作,必须重新启动 SQL Server)&&&&问题2,当系统正常运行时出现日志信息“由于内存不足,将 AppDomain 1442 (mssqlsystemresource.sys[runtime].1968)标记为要卸载。”&&&&&&&&你好,&&&&对于问题一,这篇微软的KB文档的error message 3 和error message 6说的就是这个错误“Failed to initialize the Common Language Runtime (CLR) v2.0.50727 with HRESULT 0x. You need to restart SQL server to use CLR integration features.”&&&&文档说要解决这个问题,可能的方法是重新安装.Netframework2.0, 详细信息请参考文档:http://support.microsoft.com/kb/2003681 .&&&&对于问题二, 请参考:http://support.microsoft.com/default.aspx?scid=EN-US;969962 .&&&&Thanks,&&&&Amy Peng&&&&&&&&Please remember to click &Mark as Answer& and &Vote as Helpful& on posts that help you. This can be beneficial to other community members reading the thread.&&&&学习了 &给我写信: &&&& QQ我:&&&&&&&&我们的服务器装了一个windows server 2008 企业版 service pack2& + SQL Server 2008 sp1&&&&问题1,在脱机和局域网访问数据库的时候是没有任何日志报错,但是,一旦把服务器连接网线以后整个系统变得很慢,并且系统日志提示:“无法使用 HRESULT 0x 初始化公共语言运行时(CLR) v2.0.50727。您需要重新启动 SQL Server 才能使用 CLR 集成功能。 ” 请问这是什么原因?&&&&备注:每当联机时重新启动服务器,系统进入桌面非常慢,并系统日志报上述同样的错误!(要想恢复数据库正常工作,必须重新启动 SQL Server)&&&&&&&&问题2,当系统正常运行时出现日志信息“由于内存不足,将 AppDomain 1442 (mssqlsystemresource.sys[runtime].1968)标记为要卸载。”&&&&&&&&&&&&1. did you enable clr on the server? Need restart sql service after enabling it.&&&&2. it's normal, sql will release appdomain if it's not used for certain time. But you should check server memory usage and ensure no memory leak caused by clr, it's outside of sql.&&&&&&&&&&&&但我的服务器内存是16G的 系统显示已用的内存才6-8G& 应该不可能导致内存不足才对啊32 bit or 64 bit?&&&&&&&&&&&&我们的服务器装了一个windows server 2008 企业版 service pack2& + SQL Server 2008 sp1&&&&问题1,在脱机和局域网访问数据库的时候是没有任何日志报错,但是,一旦把服务器连接网线以后整个系统变得很慢,并且系统日志提示:“无法使用 HRESULT 0x 初始化公共语言运行时(CLR) v2.0.50727。您需要重新启动 SQL Server 才能使用 CLR 集成功能。 ” 请问这是什么原因?&&&&备注:每当联机时重新启动服务器,系统进入桌面非常慢,并系统日志报上述同样的错误!(要想恢复数据库正常工作,必须重新启动 SQL Server)&&&&&&&&问题2,当系统正常运行时出现日志信息“由于内存不足,将 AppDomain 1442 (mssqlsystemresource.sys[runtime].1968)标记为要卸载。”&&&&&&&&&&&&1. did you enable clr on the server? Need restart sql service after enabling it.&&&&2. it's normal, sql will release appdomain if it's not used for certain time. But you should check server memory usage and ensure no memory leak caused by clr, it's outside of sql.&&&&&&&&&&&&但我的服务器内存是16G的 系统显示已用的内存才6-8G& 应该不可能导致内存不足才对啊&&&&Then you can ignore this message.32 bit or 64 bit?&&&&&&&&是32 bit的How did you config sql memory? Ensure&only added /pae in boot.ini file and enabled awe in sql, max memory in sql should be 14gb.How did you config sql memory? Ensure&only added /pae in boot.ini file and enabled awe in sql, max memory in sql should be 14gb.&&&&在数据库里面执行了下面的操作后&&&&exec sp_configure 'show advanced options', '1';&&&&go&&&&&&&&go&&&&exec sp_configure 'clr enabled', '1'&&&&go&&&&&&&&exec sp_configure 'show advanced options', '1';&&&&go&&&&通过系统自动的重启操作,重新启动服务器,日志报错:”无法使用 HRESULT 0x 初始化公共语言运行时(CLR) v2.0.50727。您需要重新启动 SQL Server 才能使用 CLR 集成功能。“ 已经消失。&&&&但如果是手动按键重启或断电重启时 日志报错依旧发生。&&&&Is clr still enabled? It's different from sql memory setting by the way.Is clr still enabled? It's different from sql memory setting by the way.&&&&CLR 通过执行下面那个方法是可以启用了&&&&exec sp_configure 'clr enabled', '1'&&&&go&&&&但是手动按键重启或断电重启服务器时 CLR又不能启动 不知道为什么?&&&&&&&&再说windows server 2008 企业版的 它的的最大内存寻址范围应该是64GB& 系统设置的虚拟内存最小是3GB 最大是9GB 这样应该不会是内存不足导致吧? 因为我们的物理内存是16BG的,可以肯定是足够的。You only need enable clr once, not sure what do you mean can't start clr after restarting. By the way, you have to config sql memory properly on 32-bit machine. Doesn't matter which edition of OS the machine has.&You only need enable clr once, not sure what do you mean can't start clr after restarting. By the way, you have to config sql memory properly on 32-bit machine. Doesn't matter which edition of OS the machine has.&&&&&我的意思是说 断电重启服务器时不会自动启动CLR 必须要手动重启sql服务才能启动 CLR集成功能& &&&&&&&&(CLR) v2.0.50727&&&&windows server 2008 企业版 service pack2& + SQL Server 2008 sp1&&&&我觉得应该没有安装上.net2.0或者.net3.5&&&&而且server 2008都开始使用.net3.5了给我写信: &&&& QQ我:&&&&(CLR) v2.0.50727&&&&windows server 2008 企业版 service pack2& + SQL Server 2008 sp1&&&&我觉得应该没有安装上.net2.0或者.net3.5&&&&而且server 2008都开始使用.net3.5了&&&&&&&&给我写信: &&&& QQ我:&&&&&&&&&&&&这你就错了You only need enable clr once, not sure what do you mean can't start clr after restarting. By the way, you have to config sql memory properly on 32-bit machine. Doesn't matter which edition of OS the machine has.&&&&&&&&&您好 请问在32位的机器上如何正确配置 sql内存?Which edition of sql do you have? How did you config sql memory now? Enabled PAE in OS?Which edition of sql do you have? How did you config sql memory now? Enabled PAE in OS?&&&&数据库版本是 10.0.2531.0 &&&&数据库内存设置是默认的& 没有做过手动配置&&&&windows server 2008 32位的操作系统最大的内存寻址范围不是64G的吗?&&&&该系统好像不提供 PAE配置吧? 如果可以配置该怎操作?麻烦你请教一下,谢谢!windows server 2008 32位的操作系统最大的内存寻址范围是4G&&&&--X64位系统 32位SQL:因为X64支持WOW,由于64位核心态已经不占用32位应用程序的进程的虚拟地址空间,所以&&&&--WOW的32位应用程序进程用户态可以到4GB。memtoleave-MULTI-PAGE算法不变,还是默认的384MB。&&&&--buffer pool可以达到3.6GB。如果开启了AWE,这3.6GB就可以基本都给buffer pool里的stolen memory使用了&&&&内存的一些配置:&&&&--1、首先确认服务器是32位还是64位,SQLSERVER是32位还是64位&&&&--因为SQL由于其32位地址空间限制,32位是4GB地址空间,无法再申请更多内存,所以会存在瓶颈。&&&&--2、观察计数值的趋势和相互之间的关系,切忌用一两个值就作出结论&&&&--一般系统有内存瓶颈,磁盘会繁忙,paging动作会比较多&&&&--3、分析从内存检查使用开始&&&&--再三强调,内存决定服务器的整体性能,是对性能影响最大的一个系统资源。作为一个最佳经验,&&&&--建议始终从内存检查开始&&&&&&&&--4、检查Windows系统自己的内存使用&&&&--64位系统Windows会使用更多的内存,&&&&--还有system cache resident bytes下降导致Windows释放占有的物理内存。&&&&--看一下Windows的working set&&&&&&&&&--5、观察应用进程的内存使用&&&&--系统是32位还是64位,&&&&--C盘 里的boot.ini文件里是否有/3GB参数 开启PAE功能,&&&&--是否开启了AWE功能&&&&&所以要使用64位SQL跟64位操作系统,才能使用服务器的所有内存给我写信: &&&& QQ我:&&&&windows server 2008 32位的操作系统最大的内存寻址范围是4G&&&&--X64位系统 32位SQL:因为X64支持WOW,由于64位核心态已经不占用32位应用程序的进程的虚拟地址空间,所以&&&&--WOW的32位应用程序进程用户态可以到4GB。memtoleave-MULTI-PAGE算法不变,还是默认的384MB。&&&&--buffer pool可以达到3.6GB。如果开启了AWE,这3.6GB就可以基本都给buffer pool里的stolen memory使用了&&&&内存的一些配置:&&&&--1、首先确认服务器是32位还是64位,SQLSERVER是32位还是64位&&&&--因为SQL由于其32位地址空间限制,32位是4GB地址空间,无法再申请更多内存,所以会存在瓶颈。&&&&--2、观察计数值的趋势和相互之间的关系,切忌用一两个值就作出结论&&&&--一般系统有内存瓶颈,磁盘会繁忙,paging动作会比较多&&&&--3、分析从内存检查使用开始&&&&--再三强调,内存决定服务器的整体性能,是对性能影响最大的一个系统资源。作为一个最佳经验,&&&&--建议始终从内存检查开始&&&&&&&&--4、检查Windows系统自己的内存使用&&&&--64位系统Windows会使用更多的内存,&&&&--还有system cache resident bytes下降导致Windows释放占有的物理内存。&&&&--看一下Windows的working set&&&&&&&&--5、观察应用进程的内存使用&&&&--系统是32位还是64位,&&&&--C盘 里的boot.ini文件里是否有/3GB参数 开启PAE功能,&&&&--是否开启了AWE功能&&&&&所以要使用64位SQL跟64位操作系统,才能使用服务器的所有内存&&&&&&&&给我写信: &&&& QQ我:&&&&&&&&已经咨询过微软说windows server 2008 企业版操作系统,最大内存寻址范围是64G的 &&&&而且 &windows server 2008 没有boot.ini文件的 &在 windows server 2003 里就有boot.ini文件&&&&&&&&1. 32-bit machine can&use more than 4gb memory but need enable pae, check this link for steps:&&&&http://msdn.microsoft.com/en-us/library/aa366796(VS.85).aspx.&&&&2. 32-bit enterprise edition sql can use more than 4gb memory too after enabling awe but have to set max memory properly.&&&&windows server 2008 32位的操作系统最大的内存寻址范围是4G&&&&--X64位系统 32位SQL:因为X64支持WOW,由于64位核心态已经不占用32位应用程序的进程的虚拟地址空间,所以&&&&--WOW的32位应用程序进程用户态可以到4GB。memtoleave-MULTI-PAGE算法不变,还是默认的384MB。&&&&--buffer pool可以达到3.6GB。如果开启了AWE,这3.6GB就可以基本都给buffer pool里的stolen memory使用了&&&&内存的一些配置:&&&&--1、首先确认服务器是32位还是64位,SQLSERVER是32位还是64位&&&&--因为SQL由于其32位地址空间限制,32位是4GB地址空间,无法再申请更多内存,所以会存在瓶颈。&&&&--2、观察计数值的趋势和相互之间的关系,切忌用一两个值就作出结论&&&&--一般系统有内存瓶颈,磁盘会繁忙,paging动作会比较多&&&&--3、分析从内存检查使用开始&&&&--再三强调,内存决定服务器的整体性能,是对性能影响最大的一个系统资源。作为一个最佳经验,&&&&--建议始终从内存检查开始&&&&&&&&--4、检查Windows系统自己的内存使用&&&&--64位系统Windows会使用更多的内存,&&&&--还有system cache resident bytes下降导致Windows释放占有的物理内存。&&&&--看一下Windows的working set&&&&&&&&--5、观察应用进程的内存使用&&&&--系统是32位还是64位,&&&&--C盘 里的boot.ini文件里是否有/3GB参数 开启PAE功能,&&&&--是否开启了AWE功能&&&&&所以要使用64位SQL跟64位操作系统,才能使用服务器的所有内存&&&&&&&&给我写信: &&&& QQ我:&&&&&&&&Please do some home work before posting, you mislead people again.我给出的只是作为参考,而且enabling awe使sql能支持64GB内存,是buffer pool使用的,而不是其他内存类型&&&&-- 各种内存分类方法之间的关系&&&&--&&&&&&&&&&&&&&&&&&&&&&&&&&&&& database cache&&&&& consumer&&&&&&&&&&&&&& 3rd party code&&&&&&&& threads&&&& CLR code&&&&--reserved/commit&&&&&&&&&&&&&&&& 是&&&&&&&&&&&&&&& 一般不是&&&&&&&&&&&&&&&& 一般不是&&&&&&&&&&&&&&&& & 不是&&&&&&& && 是&&&&--stolen&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& 不是&&&&&&&&&&&&&&&&&&&& &是&&&&&&&&&&&&&&&&&&&& 是&&&&&&&&&&&&&&&&&&&&&&&&&&& &是&&&&&&&&& & 不是&&&&--buffer pool(single page)&&&&&& 所有&&&&&&&&&&&&&& 绝大部分&&&&&&&&&&&& 没有&&&&&&&&&&&&&&&&&&&&&&&&&& &没有&&&&&&& & 没有&&&&--memtoleave(multi page)&&&&&&没有&&&&&&&&&&&&&& 一小部分&&&&&&&&&&&& 所有&&&&&&&&&&&&&&&&&&&&&&&&&& &所有&&&&&&& && 所有&&&&LZ可以查阅资料或者看msdn,可能我给出的参考太广泛了,因为回答这类内存问题答得多了,所以没有特别考虑LZ的情况sql2008 R2& WIN2008 R2&&&&不过我觉得无论是win2003 sql2005& win2008 win2008 r2 sql2008 sql2008 r2内存的问题都是大同小异的&&&&如果LZ是win2008 r2 sql2008 r2 就表示操作系统是64位 ,但是不知道win2008 r2有没有32位版本(因为本人没有详细研究过sql2008,公司使用的是sql2005),如果LZ使用的是32版本的sql2008 r2 那么实际上sqlserver的寻址还是4GB&&&&不然sqlserver不会有32位跟64位,不知道这样说LZ明白不,因为我给出的回答都是我查阅资料记下来的&&&&给我写信: &&&& QQ我:Why win2k8 doesn't have 32-bit edition? And OP told you it's 32-bit machine. Don't tell people something that you don't know about.&&&&1. 32-bit machine can&use more than 4gb memory but need enable pae, check this link for steps:&&&&http://msdn.microsoft.com/en-us/library/aa366796(VS.85).aspx.&&&&2. 32-bit enterprise edition sql can use more than 4gb memory too after enabling awe but have to set max memory properly.&&&&&&&&&&&&你好,很感谢您的回答,但是我还是很疑惑,你的意思是说装了win server 2008 32位 企业版 的操作系统,在没有配置PAE时物理内存是不能使用超过4GB的内存? 但是我机器系统里明明可以显示出16GB的内存数量,并且现实使用了7GB多的内存。 不知道你说的是不是 “win server 2008 32位&&&&企业版 ”的。Looks like PAE is enabled, otherwise 32-bit machine can't address more than 4gb memory no matter what OS edition is.SilverlightShanghai – CLR & Silverlight上海研发团队的Blog
This site uses cookies for analytics, personalized content and ads. By continuing to browse this site, you agree to this use.
在.NET Framework v4.0发布的新功能中,在名字空间System.Runtime.InteropServices新增加了一个叫做ICustomQueryInterface的Interface, 顾名思义,这个Interface的功能就是使得用户可以自己控制QueryInterface这个COM最常用的函数的行为。在v4.0以前,所有作用于托管组件上的QI行为,都是由CLR内部的IUnkown:QueryInterface控制的,比如,如果你QI著名的IDispatch接口时,你得到的永远都是CLR提供的那个IDispatch,诸如此类的还有IMarshal/IProvideClassInfo等一些常用的Interface。如果你非常希望用自己的IDispatch实现来替换clr提供的实现,那么恭喜你,ICustomQueryInterface就是为你而生的!当然,ICustomQueryInterface所带来的,不仅仅是简单的Interface替换,它甚至可以使得Aggregate托管组件也成为现实,wow,如果你了解Aggregation的话,一定会因此而雀跃不已的。我会在另一篇文章中通过例程给大家做一个详细的介绍。 让我们来看看这个Interface的定义吧 1: public interface ICustomQueryInterface 2: { 3: CustomQueryInterfaceResult GetInterface([In]ref Guid iid, out IntPtr ppv); 4: } 5: 是的,就是这么简单,就一个GetInterface方法,再仔细看看它的方法参数,是不是和c++里面的QueryInterface有点神似啊。哈哈,其实你可以把它理解成QueryInterface的托管实现也无妨啊!不过它还有个小小的功能,就是如果自己不想处理这个QI,就返回NotHandled, clr看到这个返回值,就会调用自己的QI实现来帮你处理这个请求,爽吧。 让我们来看看有了这个Interface之后clr内部关于QI的处理流程图吧(画的是英文版,烦请大家将就一下啦,没装viso,画图超级累啊!!!!) 从这个图上我们可以看到,除了不能处理对IUnknown的QI请求(要求别太高嘛),其他统统OK! 理论一大堆了,来实战一下。 看看我们的托管组件的实现 1: using S 2: using System.Runtime.InteropS 3: 4: namespace States 5: { 6: [Guid(&#0--C000-”)] 7: [InterfaceType(ComInterfaceType.InterfaceIsIUnknown)] 8: public interface ICQ 9: { 10: int func(); 11: void…
在最新一期的.NET 4.0新特性系列课程中,我将继续给大家介绍CLR 4.0中的一些新特性。被次课程聚焦于性能,具体信息如下: MSDN Webcast – .NET 4.0中的新特性系列课程(5):追踪CLR——使用Windows事件跟踪(ETW)观察公共语言运行时CLR(Level 300) 讲 师:       朱永泰   开始日期:  日 14:30中国  课程简介: CLR 4.0在开发的过程中,全面支持了Windows事件跟踪。作为一个事件提供者,CLR提供了形形色色的事件,诸如垃圾回收(GC),即时编译(Jit)等等。对CLR事件的追踪可以用来度量CLR的性能,以及帮助用户做错误诊断。本次讲座从Windows事件跟踪的基本概念入手,讲解如何追踪CLR事件,进而观察CLR的一些运作机理。
该工具主要帮助大家诊断Interop Marshalling中间遇到的问题。它的源代码和二进制文件可以在CodePlex上下载:http://clrinterop.codeplex.com/Release/ProjectReleases.aspx?ReleaseId=29745 本文首先介绍关于Interop Marshalling的背景,然后通过一个例子来介绍IL Stub Diagnostic工具的使用。 Interop Marshalling: 当我们在托管代码中调用本地代码或者反过来在本地代码中调用托管代码的时候,我们就在做.Net Interop,如下图所示。当我们在托管代码和本地代码之间传递数据的时候,我们就需要Marshalling。长久以来,Marshalling一直是错误的温床。程序员需要通过设置一些列的属性来告诉CLR他们期待的marshalling逻辑,由于看不到CLR生成的具体代码(当然,在调试器里面可以看到汇编代码),所以和Marshalling相关的错误总是难于诊断。我们这次在codeplex上发布的工具就力图解决这个问题。 Intermediate Language(IL) Stub是由CLR动态生成的用于Interop的代码。它主要做两件事情:1. 在本地代码和托管代码之间Marshal数据;2. 调用目标函数。张羿撰写的CLR 4.0 Beta1新功能:Stub Method Redirection一文中,也对IL Stub做了相关的介绍。 综合以上两点,大家多半可以猜到IL Stub Diagnostics的工作方式:该工具可以实时监测CLR生成的IL Stub,并且把stub的IL代码展示给用户。根据这些信息来诊断Marshalling过程中的错误。   下载文件介绍 本次发行包括了两个下载文件,一个是源代码,留给有兴趣的朋友们自己研究。这里主要介绍二进制文件。解压缩之后有两个文件夹和一个文档。ILStubDiagnostic包含了本工具的可执行文件,Sample中是一个pinvoke的例子,用以展示IL Stub Diagnostic工具的功能。Tutorial是一个简单的教程,由于面向全球用户,用英语撰写,在这里会给出中文对应。 运行环境介绍 由于使用了CLR v4以及ETW的新功能,所以被监测的托管程序必须在安装了v4 CLR的vista(或者win2008、win7)上运行。   例子 1) 启动IL Stub Diagnostic之后,看到如下界面: 2) 单击Start按钮之后,看到界面的右上角有一个环形动画,表示IL Stub Diagnostic正在监测中。 3) 运行sample文件夹下的pinvoke.exe,我们会在IL Stub列表区中得到一些IL Stub项。需要注意的是,由于pinvoke.exe调用的本地代码是32位,所以它需要运行的32位CLR上。关于32位/64位CLR的背景,可以参见我的博文:在64位windows中运行托管程序。 4)在IL列表区右击任何一列的标题,可以选择显示不同的IL Stub信息 5) 在IL列表区单击任何一个感兴趣的stub,在代码区可以看到具体内容。 6) 在工具栏里单击IL Code,可以把代码区最大化。 7)…
Archives &(1)

我要回帖

更多关于 几何组成分析的作用 的文章

 

随机推荐