📄 exer2_作业2.htm
字号:
font-family:宋体;mso-ascii-font-family:"Times New Roman";mso-hansi-font-family:"Times New Roman"'>提交:</span><span lang=EN-US style='font-size:14.0pt'><o:p></o:p></span></p><p class=MsoNormal style='margin-left:21.0pt;text-indent:21.0pt'><spanstyle='font-family:宋体;mso-ascii-font-family:"Times New Roman";mso-hansi-font-family:"Times New Roman"'>组件程序所有代码以及</span><span lang=EN-US>VBA</span><spanstyle='font-family:宋体;mso-ascii-font-family:"Times New Roman";mso-hansi-font-family:"Times New Roman"'>中的代码</span><span lang=EN-US style='font-size:12.0pt'><o:p></o:p></span></p><p class=MsoNormal style='text-indent:21.0pt'><span style='font-size:14.0pt;font-family:宋体;mso-ascii-font-family:"Times New Roman";mso-hansi-font-family:"Times New Roman"'>要点:实现双接口</span><span lang=EN-US style='mso-hansi-font-family:宋体;display:none;mso-hide:all'><o:p></o:p></span></p><p class=MsoNormal><span lang=EN-US><o:p> </o:p></span></p><h3><span style='font-family:宋体;mso-ascii-font-family:"Times New Roman";mso-hansi-font-family:"Times New Roman"'>练习</span><span lang=EN-US>4</span></h3><p class=MsoNormal align=left style='text-align:left;text-indent:21.0pt;mso-pagination:widow-orphan'><span style='font-size:14.0pt;font-family:宋体;mso-ascii-font-family:"Times New Roman";mso-hansi-font-family:"Times New Roman"'>题目:</span><spanlang=EN-US style='font-size:14.0pt;font-family:宋体;mso-hansi-font-family:"Times New Roman";mso-font-kerning:0pt'><o:p></o:p></span></p><p class=MsoNormal style='margin-left:42.0pt;text-indent:21.0pt'><spanstyle='font-family:宋体;mso-ascii-font-family:"Times New Roman";mso-hansi-font-family:"Times New Roman"'>实现一个进程外</span><span lang=EN-US>COM</span><spanstyle='font-family:宋体;mso-ascii-font-family:"Times New Roman";mso-hansi-font-family:"Times New Roman"'>对象,它实现一个自定义接口</span><span lang=EN-US>(</span><spanstyle='font-family:宋体;mso-ascii-font-family:"Times New Roman";mso-hansi-font-family:"Times New Roman"'>不是双接口</span><span lang=EN-US>)</span><span style='font-family:宋体;mso-ascii-font-family:"Times New Roman";mso-hansi-font-family:"Times New Roman"'>,该接口有一项功能:</span><spanlang=EN-US>GetPrimers</span><span style='font-family:宋体;mso-ascii-font-family:"Times New Roman";mso-hansi-font-family:"Times New Roman"'>,接受一个整数参数,返回一个数组,其中包含所有小于该整数的素数。</span><spanlang=EN-US style='font-size:12.0pt'><o:p></o:p></span></p><p class=MsoNormal style='text-indent:21.0pt'><span style='font-size:14.0pt;font-family:宋体;mso-ascii-font-family:"Times New Roman";mso-hansi-font-family:"Times New Roman"'>要求:</span><span lang=EN-US style='font-size:14.0pt'><o:p></o:p></span></p><p class=MsoNormal style='margin-left:21.0pt;text-indent:21.0pt'><spanstyle='font-family:宋体;mso-ascii-font-family:"Times New Roman";mso-hansi-font-family:"Times New Roman"'>不准用</span><span lang=EN-US>MFC/ATL</span><span lang=EN-USstyle='font-size:12.0pt'><o:p></o:p></span></p><p class=MsoNormal style='margin-left:21.0pt;text-indent:21.0pt'><spanstyle='font-family:宋体;mso-ascii-font-family:"Times New Roman";mso-hansi-font-family:"Times New Roman"'>要求做成一个</span><span lang=EN-US>console</span><spanstyle='font-family:宋体;mso-ascii-font-family:"Times New Roman";mso-hansi-font-family:"Times New Roman"'>工程</span></p><p class=MsoNormal style='margin-left:21.0pt;text-indent:21.0pt'><spanstyle='font-family:宋体;mso-ascii-font-family:"Times New Roman";mso-hansi-font-family:"Times New Roman"'>输出参数是个不定长度的数组,一种做法是加一个长度指示;另一种做法是利用一个枚举器。建议使用枚举器。</span></p><p class=MsoNormal style='text-indent:21.0pt'><span style='font-size:14.0pt;font-family:宋体;mso-ascii-font-family:"Times New Roman";mso-hansi-font-family:"Times New Roman"'>提交:</span><span lang=EN-US style='font-size:14.0pt'><o:p></o:p></span></p><p class=MsoNormal style='margin-left:21.0pt;text-indent:21.0pt'><spanstyle='font-family:宋体;mso-ascii-font-family:"Times New Roman";mso-hansi-font-family:"Times New Roman"'>组件程序、</span><span lang=EN-US>proxy/stub</span><spanstyle='font-family:宋体;mso-ascii-font-family:"Times New Roman";mso-hansi-font-family:"Times New Roman"'>程序、客户测试程序</span><span lang=EN-US style='font-size:12.0pt'><o:p></o:p></span></p><p class=MsoNormal style='text-indent:21.0pt'><span style='font-size:14.0pt;font-family:宋体;mso-ascii-font-family:"Times New Roman";mso-hansi-font-family:"Times New Roman"'>要点:</span><span lang=EN-US style='font-size:14.0pt'><o:p></o:p></span></p><p class=MsoNormal style='margin-left:21.0pt;text-indent:21.0pt'><spanstyle='font-family:宋体;mso-ascii-font-family:"Times New Roman";mso-hansi-font-family:"Times New Roman"'>实现进程外组件的全过程。</span><span lang=EN-US style='mso-hansi-font-family:宋体;display:none;mso-hide:all'><o:p></o:p></span></p><p class=MsoNormal><span lang=EN-US><o:p> </o:p></span></p><h3><span style='font-family:宋体;mso-ascii-font-family:"Times New Roman";mso-hansi-font-family:"Times New Roman"'>练习</span><span lang=EN-US>5</span></h3><p class=MsoNormal align=left style='text-align:left;text-indent:21.0pt;mso-pagination:widow-orphan'><span style='font-size:14.0pt;font-family:宋体;mso-ascii-font-family:"Times New Roman";mso-hansi-font-family:"Times New Roman"'>题目:</span><spanlang=EN-US style='font-size:14.0pt;font-family:宋体;mso-hansi-font-family:"Times New Roman";mso-font-kerning:0pt'><o:p></o:p></span></p><p class=MsoNormal style='margin-left:21.0pt;text-indent:21.0pt'><spanstyle='font-family:宋体;mso-ascii-font-family:"Times New Roman";mso-hansi-font-family:"Times New Roman"'>给出一篇文章,请实现文中的应用。</span><span lang=EN-US style='font-size:12.0pt'><o:p></o:p></span></p><p class=MsoNormal style='text-indent:21.0pt'><span style='font-size:14.0pt;font-family:宋体;mso-ascii-font-family:"Times New Roman";mso-hansi-font-family:"Times New Roman"'>要求:</span><span lang=EN-US style='font-size:14.0pt'><o:p></o:p></span></p><p class=MsoNormal style='margin-left:21.0pt;text-indent:21.0pt'><spanstyle='font-family:宋体;mso-ascii-font-family:"Times New Roman";mso-hansi-font-family:"Times New Roman"'>实现一个对话框应用,用户通过一段脚本控制应用中的日历对象。</span></p><p class=MsoNormal style='text-indent:21.0pt'><span style='font-size:14.0pt;font-family:宋体;mso-ascii-font-family:"Times New Roman";mso-hansi-font-family:"Times New Roman"'>要点:了解用</span><span lang=EN-US style='font-size:14.0pt'>COM</span><spanstyle='font-size:14.0pt;font-family:宋体;mso-ascii-font-family:"Times New Roman";mso-hansi-font-family:"Times New Roman"'>实现的脚本技术。</span><span lang=EN-USstyle='font-size:12.0pt'><o:p></o:p></span></p><p class=MsoNormal style='text-indent:21.0pt'><span lang=EN-USstyle='mso-hansi-font-family:宋体;display:none;mso-hide:all'><o:p> </o:p></span></p><h3><span style='font-family:宋体;mso-ascii-font-family:"Times New Roman";mso-hansi-font-family:"Times New Roman"'>练习</span><span lang=EN-US>6</span></h3><p class=MsoNormal align=left style='text-align:left;text-indent:21.0pt;mso-pagination:widow-orphan'><span style='font-size:14.0pt;font-family:宋体;mso-ascii-font-family:"Times New Roman";mso-hansi-font-family:"Times New Roman"'>题目:</span><spanlang=EN-US style='font-size:14.0pt;font-family:宋体;mso-hansi-font-family:"Times New Roman";mso-font-kerning:0pt'><o:p></o:p></span></p><p class=MsoNormal style='margin-left:42.0pt;text-indent:21.0pt'><spanstyle='font-family:宋体;mso-ascii-font-family:"Times New Roman";mso-hansi-font-family:"Times New Roman"'>在一个</span><span lang=EN-US>Exe</span><span style='font-family:宋体;mso-ascii-font-family:"Times New Roman";mso-hansi-font-family:"Times New Roman"'>程序中,创建两个线程,至少一个是</span><spanlang=EN-US>STA</span><span style='font-family:宋体;mso-ascii-font-family:"Times New Roman";mso-hansi-font-family:"Times New Roman"'>线程。然后在第二个线程中创建一个</span><spanlang=EN-US>COM</span><span style='font-family:宋体;mso-ascii-font-family:"Times New Roman";mso-hansi-font-family:"Times New Roman"'>对象,通过</span><span lang=EN-US>marshaling</span><spanstyle='font-family:宋体;mso-ascii-font-family:"Times New Roman";mso-hansi-font-family:"Times New Roman"'>机制,把对象的接口指针传到第一个线程中,输出这两个接口指针的值。</span><span lang=EN-USstyle='font-size:12.0pt'><o:p></o:p></span></p><p class=MsoNormal style='text-indent:21.0pt'><span style='font-size:14.0pt;font-family:宋体;mso-ascii-font-family:"Times New Roman";mso-hansi-font-family:"Times New Roman"'>要求:</span><span lang=EN-US style='font-size:14.0pt'><o:p></o:p></span></p><p class=MsoNormal style='margin-left:21.0pt;text-indent:21.0pt'><spanstyle='font-family:宋体;mso-ascii-font-family:"Times New Roman";mso-hansi-font-family:"Times New Roman"'>提交</span><span lang=EN-US>exe</span><span style='font-family:宋体;mso-ascii-font-family:"Times New Roman";mso-hansi-font-family:"Times New Roman"'>程序的代码,并给出试验结果。</span><spanlang=EN-US style='font-size:12.0pt'><o:p></o:p></span></p><p class=MsoNormal style='text-indent:21.0pt'><span style='font-size:14.0pt;font-family:宋体;mso-ascii-font-family:"Times New Roman";mso-hansi-font-family:"Times New Roman"'>要点:加强在套间之间传递接口指针的</span><span lang=EN-US style='font-size:14.0pt'>marshaling</span><span style='font-size:14.0pt;font-family:宋体;mso-ascii-font-family:"Times New Roman";mso-hansi-font-family:"Times New Roman"'>概念</span><spanlang=EN-US style='font-size:12.0pt;mso-hansi-font-family:宋体;display:none;mso-hide:all'><o:p></o:p></span></p><p class=MsoNormal><span lang=EN-US><o:p> </o:p></span></p><h3><span style='font-family:宋体;mso-ascii-font-family:"Times New Roman";mso-hansi-font-family:"Times New Roman"'>练习</span><span lang=EN-US>7</span></h3><p class=MsoNormal align=left style='text-align:left;text-indent:21.0pt;mso-pagination:widow-orphan'><span style='font-size:16.0pt;font-family:宋体;mso-ascii-font-family:"Times New Roman";mso-hansi-font-family:"Times New Roman"'>题目:</span><spanlang=EN-US style='font-size:16.0pt;font-family:宋体;mso-hansi-font-family:"Times New Roman";mso-font-kerning:0pt'><o:p></o:p></span></p><p class=MsoNormal style='margin-left:42.0pt;text-indent:21.0pt'><spanstyle='font-family:宋体;mso-ascii-font-family:"Times New Roman";mso-hansi-font-family:"Times New Roman"'>改写“</span><span lang=EN-US>COM</span><span style='font-family:宋体;mso-ascii-font-family:"Times New Roman";mso-hansi-font-family:"Times New Roman"'>原理与应用”第三章例子中的</span><spanlang=EN-US>register</span><span style='font-family:宋体;mso-ascii-font-family:"Times New Roman";mso-hansi-font-family:"Times New Roman"'>模块,包括</span><spanlang=EN-US>register.cpp</span><span style='font-family:宋体;mso-ascii-font-family:"Times New Roman";mso-hansi-font-family:"Times New Roman"'>和</span><spanlang=EN-US>register.h</span><span style='font-family:宋体;mso-ascii-font-family:"Times New Roman";mso-hansi-font-family:"Times New Roman"'>,使它成为通用的模块,既支持</span><spanlang=EN-US>InprocServer</span><span style='font-family:宋体;mso-ascii-font-family:"Times New Roman";mso-hansi-font-family:"Times New Roman"'>,也支持</span><spanlang=EN-US>LocalServer</span><span style='font-family:宋体;mso-ascii-font-family:"Times New Roman";mso-hansi-font-family:"Times New Roman"'>,还支持</span><spanlang=EN-US>typelib</span><span style='font-family:宋体;mso-ascii-font-family:"Times New Roman";mso-hansi-font-family:"Times New Roman"'>以及</span><spanlang=EN-US>Category(</span><span style='font-family:宋体;mso-ascii-font-family:"Times New Roman";mso-hansi-font-family:"Times New Roman"'>可选</span><spanlang=EN-US>)</span><span style='font-family:宋体;mso-ascii-font-family:"Times New Roman";mso-hansi-font-family:"Times New Roman"'>。</span></p><p class=MsoNormal style='text-indent:21.0pt'><span style='font-size:16.0pt;font-family:宋体;mso-ascii-font-family:"Times New Roman";mso-hansi-font-family:"Times New Roman"'>要求:</span><span lang=EN-US style='font-size:16.0pt'><o:p></o:p></span></p><p class=MsoNormal style='margin-left:21.0pt;text-indent:21.0pt'><spanstyle='font-family:宋体;mso-ascii-font-family:"Times New Roman";mso-hansi-font-family:"Times New Roman"'>通过测试。可以修改该书第三、四章的例子作为测试,也可以自拟方案。</span><span lang=EN-USstyle='font-size:12.0pt'><o:p></o:p></span></p><p class=MsoNormal style='text-indent:21.0pt'><span style='font-size:16.0pt;font-family:宋体;mso-ascii-font-family:"Times New Roman";mso-hansi-font-family:"Times New Roman"'>要点:</span><span lang=EN-US style='font-size:16.0pt'><o:p></o:p></span></p><p class=MsoNormal style='margin-left:21.0pt;text-indent:21.0pt'><spanstyle='font-family:宋体;mso-ascii-font-family:"Times New Roman";mso-hansi-font-family:"Times New Roman"'>了解</span><span lang=EN-US>COM</span><span style='font-family:宋体;mso-ascii-font-family:"Times New Roman";mso-hansi-font-family:"Times New Roman"'>注册表的结构,以及注册表对于</span><spanlang=EN-US>COM</span><span style='font-family:宋体;mso-ascii-font-family:"Times New Roman";mso-hansi-font-family:"Times New Roman"'>的意义,并熟悉注册表的编程。</span></p></div></body></html>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -