修改了 MAKE-ONE 文件,在 CPP_FLAGS = /c /Mtd /Zi /Od /D_DEBUG 后面加上了 /EHsc 。
修改了 CLIENT.CPP 文件,将 #include <iostream.h> 改为 #include <iostream> , 在最后一个 #include 预处理命令的下一行,加上 using namespace std;
修改了 UTIL.H 文件,将 #include <strstrea.h> 改为 #include <iostream> , 在最后一个 #include 预处理命令的下一行,加上 using namespace std;
修改了 UTIL.CPP 文件,将第26行 #include <iostream.h> 改为 #include <iostream> , 在下一行,加上 using namespace std;
修改了 MAKE-ONE 文件,把link指令中的 libcimtd.lib 都替换为 libcpmtd.lib。
修改了 CMPNT1.CPP 文件,在最后一个 #include 预处理命令的下一行,加上了 #include <iostream> ,在下一行加上了 #include <strstream> ,在下一行加上了 using namespace std;
修改了 CMPNT2.CPP 文件,在最后一个 #include 预处理命令的下一行,加上了 #include <iostream> ,在下一行加上了 #include <strstream> ,在下一行加上了 using namespace std;
修改了 CMPNT2.CPP 文件,将第54行 for(i=0;i<sizeIn;i++) 改为 for(int i=0;i<sizeIn;i++)
修改了 CMPNT3.CPP 文件,在最后一个 #include 预处理命令的下一行,加上了 #include <iostream> ,在下一行加上了 #include <strstream> ,在下一行加上了 using namespace std;
修改了CFactory.CPP文件的第247行,将函数
BOOL APIENTRY DllMain()的第一个参数类型由HANDLE改为HINSTANCE,修改后函数定义如下:
BOOL APIENTRY DllMain(HINSTANCE hModule,
DWORD dwReason,
void* lpReserved)
修改了 SERVER.DEF 文件,删除了以下行:
DESCRIPTION 'Chapter 10, Example COM Server (c)1996-1997 Dale E. Rogerson'
删除了函数后面的 @2、@3等这些序号。
修改了 OUTPROC.CPP 文件,将129行
wcListview.hbrBackground = ::GetStockObject(WHITE_BRUSH) ;
修改为:
wcListview.hbrBackground = (HBRUSH)::GetStockObject(WHITE_BRUSH) ;
修改了 MAKE-ONE 文件,将第56行 rpcndr.lib \ 这一行删去。
修改了 PROXY.DEF 文件,删除了以下行:
DESCRIPTION 'Proxy/Stub DLL'
删除了函数后面的 @1、@2、@3等这些序号。
——————————————————————
使用管理员权限启动 Visual Studio 2010命令行
编译命令:
nmake -f makefile
执行命令 REGISTER.BAT
先执行命令 Server.exe
接下来再执行命令 Client.exe,然后选择1或2,当选择1时,在命令行窗口会显示输出;当选择2时,在命令行窗口和程序 Component Server窗口中都会显示输出。
没有合适的资源?快使用搜索试试~ 我知道了~
《COM技术内幕——微软组件对象模型(Inside COM)》一书部分源码 for VS 2010
共437个文件
obj:102个
cpp:74个
h:52个
需积分: 16 26 下载量 150 浏览量
2017-06-23
11:23:42
上传
评论
收藏 27.76MB ZIP 举报
温馨提示
由 Dale Rogerson 撰写的《COM技术内幕——微软组件对象模型》(Inside COM)一书附带的源码适合在Visual C++ 6.0下编译,同样的源码拿到 Visual Studio 2010 下面进行编译,会报告很多错误。因此本人对源码中的错误进行了纠正,使得修改后的源码能够在 Visual Studio 2010 命令行下编译通过,获得的exe程序能够执行。将修改过的源码在这里发布一下,希望能对这本书的读者有所帮助。发布的源码中缺少书中第13章的源码,因为能找到的第13章 Tangram 的源码在编译时都报告缺少一些文件,始终无法编译通过。所以这里发布的源码是书中第2章至第12章的源码。VS 2010 下编译源码使用的命令、对原始源码所做的修改说明也随源码一起发布,详情见每一章源码目录下的“编译命令.txt”文件。
资源推荐
资源详情
资源评论
收起资源包目录
《COM技术内幕——微软组件对象模型(Inside COM)》一书部分源码 for VS 2010 (437个子文件)
REGISTER.BAT 156B
REGISTER.BAT 151B
REGISTER.BAT 150B
REGISTER.BAT 141B
REGISTER.BAT 141B
REGISTER.BAT 127B
REGISTER.BAT 107B
REGISTER.BAT 106B
proxy.c 18KB
Proxy.c 12KB
Proxy.c 12KB
Proxy.c 9KB
guids.c 2KB
Guids.c 2KB
Guids.c 2KB
Guids.c 2KB
dlldata.c 833B
dlldata.c 807B
dlldata.c 807B
dlldata.c 807B
CATEGORY.CPP 10KB
CLIENT.CPP 9KB
FREE.CPP 9KB
CMPNT1.CPP 8KB
REGISTRY.CPP 8KB
REGISTRY.CPP 8KB
REGISTRY.CPP 8KB
APART.CPP 8KB
CLIENT.CPP 8KB
REGISTRY.CPP 8KB
CFACTORY.CPP 7KB
CMPNT.CPP 7KB
CMPNT2.CPP 7KB
CFACTORY.CPP 7KB
CFACTORY.CPP 7KB
CFACTORY.CPP 7KB
DCLIENT.CPP 7KB
CMPNT1.CPP 7KB
REGISTRY.CPP 6KB
REGISTRY.CPP 6KB
REGISTRY.CPP 6KB
REGISTRY.CPP 6KB
CMPNT.CPP 6KB
CMPNT2.CPP 6KB
OUTPROC.CPP 5KB
OUTPROC.CPP 5KB
CFACTORY.CPP 5KB
CMPNT2.CPP 4KB
CMPNT1.CPP 4KB
IUNKNOWN.CPP 4KB
REFCOUNT.CPP 4KB
CLIENT.CPP 3KB
CMPNT.CPP 3KB
CMPNT1.CPP 3KB
CMPNT2.CPP 3KB
CLI-FREE.CPP 3KB
CUNKNOWN.CPP 3KB
CUNKNOWN.CPP 3KB
CUNKNOWN.CPP 3KB
CUNKNOWN.CPP 3KB
CUNKNOWN.CPP 2KB
CMPNT3.CPP 2KB
UTIL.CPP 2KB
UTIL.CPP 2KB
CLIENT1.CPP 2KB
UTIL.CPP 2KB
UTIL.CPP 2KB
CLIENT.CPP 2KB
CMPNT2.CPP 2KB
CLIENT2.CPP 2KB
CLIENT3.CPP 2KB
CMPNT.CPP 2KB
CLIENT.CPP 2KB
CMPNT3.CPP 2KB
SERVER.CPP 2KB
SERVER.CPP 2KB
CMPNT1.CPP 2KB
CLI-APT.CPP 2KB
CLIENT.CPP 1KB
CLIENT.CPP 1KB
CLIENT2.CPP 1KB
CMPNT3.CPP 1KB
IFACE.CPP 1KB
SERVER.CPP 1KB
GUIDS.CPP 1KB
SERVER.CPP 1KB
SERVER.CPP 1KB
CLIENT1.CPP 1KB
UTIL.CPP 944B
GUIDS.CPP 916B
GUIDS.CPP 916B
GUIDS.CPP 822B
CREATE.CPP 793B
GUIDS.CPP 632B
SERVER.DEF 308B
PROXY.DEF 293B
PROXY.DEF 263B
PROXY.DEF 250B
PROXY.DEF 250B
SERVER.DEF 223B
共 437 条
- 1
- 2
- 3
- 4
- 5
资源评论
henter
- 粉丝: 260
- 资源: 7
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功