DCOM配置方法及DCOM并行计算程序的构建.doc

DCOM配置方法及DCOM并行计算程序的构建.doc

ID:61423465

大小:878.00 KB

页数:34页

时间:2021-01-28

DCOM配置方法及DCOM并行计算程序的构建.doc_第1页
DCOM配置方法及DCOM并行计算程序的构建.doc_第2页
DCOM配置方法及DCOM并行计算程序的构建.doc_第3页
DCOM配置方法及DCOM并行计算程序的构建.doc_第4页
DCOM配置方法及DCOM并行计算程序的构建.doc_第5页
资源描述:

《DCOM配置方法及DCOM并行计算程序的构建.doc》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库

1、感谢焦龙同学的耐心讲解~~~~1.如何搭建DCOM编程、运行环境N台机器的用户名和密码必须相同。最好是用Administrator进入VC++6.0,打开HelloDcom.dsw,组建工具栏调出来。程序全编译一遍Server->组建->全部组建PSAddSub->工具->RegisterControl至此配置完成看两台机器是否可以进行DCOM访问:网上邻居:看访问125.223.8.122是否成功,进入工作组,输入如下:出现如下就证明可以进行通信了。本机IP=125.223.8.113。测试的时候这里添加

2、自己的IP号就行。如果想连接对方(125.223.8.122),就填对方的IP号即可。这只是一个例子,测试程序而已。以后讲到的IP访问将不是这个样子。运行2.如何新建立一个DCOM工程。ParallelMeshSearch=PMS,原地盖高楼。之前那些事对于例子程序的调通,下面是如何新建立一个DCOM工程。DCOM工程大概分为3个子工程:Server端、代理DLL、Client端。这3部分分别要建立3个工程。2.1建立Server端先建立一个空白的工作区再新建Server端工程PMS组件接口函数的定义HRE

3、SULTPara_MeshSearch([in]longlength,[in,size_is(length)]long*raw_Array,[out,size_is(length)]long*back_Array);组件接口函数的声明在public:里面加入一句话STDMETHOD(Para_MeshSearch)(longlength,long*raw_Array,long*back_Array);组件接口函数的实现向此文件中添加:STDMETHODIMPCPMSCom::Para_MeshSearch(

4、longlength,long*rawArray,long*outArray){//函数功能returnNOERROR;}注意,在编写PMSCom.cpp也就是Server端代码的时候,接口函数中数组rawArray是一个long*类型,在接口函数中不用重新给这个rawArray分配空间。因为调用这个函数的时候实参是一个具体数组。组件注册:一般地,编译完成服务器自动注册选中PMSCom.cpp,再编译!2.2建立代理/存根DLL这2.2节都是在PSPMS工程中的操作。再新建一个工程PSPMS向PSPMS.d

5、ef中添加如下内容:LIBRARYPSPMSEXPORTSDllGetClassObjectPRIVATEDllCanUnloadNowPRIVATEDllRegisterServerPRIVATEDllUnregisterServerPRIVATEGetProxyDllInfoPRIVATE把PMS.idl生成的如下4个文件加入到工程中。方法如下:在如下位置加入,REGISTER_PROXY_DLL,_WIN32_DCOM在如下位置加入rpcndr.librpcns4.librpcrt4.lib记得rpc

6、ndr.lib前面加个空格编译,连接注册dll:2.3建立客户程序新建一个工程PMS_Client.cpp中的#include"stdafx.h"删了它就可以了。。。否则有出不尽的编译、链接错误。客户端PMS_Client工程必须包含PMS.h和PMS_i.c文件。方法上面都说过了。注意:在客户端,无论编写debug还是release程序,projectsettingc/c++中的codegeneration下的Userun-timelibrary应选DEBUGMultithreadedDLL。下图所示

7、:3.代码填充3.1PMS_Client.cpp的框架可能用到的头文件#include#include#include#include#include#include#include"../PMS/PMS.h"//这个一定用得上#defineMAX_SERVER_NUM20//服务器的最大个数usingnamespacestd;structPMS_Range{long*Trans_Array;long*

8、Back_Array;longlength;intpid;};定义structPMS_Range,这个东东任务分配用的。变量一般要定义为结构体数组,目的是传给好几个处理机,每一个结构体数组元素就是一个处理机的任务。添加到多线程调用的参数中,跟多线程一起传到处理机那边。structPQS_Time{time_tstart;time_tend;};PQS_Timeptime;//处理机共同的时间,总体的时间全局变量:

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。