用标准C编写COM dll

参考资料:

用标准C编写COM(一)COM in plain C,Part1 (http://blog.csdn.net/wangqiulin123456/article/details/8092358)

用标准C编写COM(二)COM in plain C,Part2

研究了一天,使用 vc6编译, 对VC6命令行编译配置了一下(http://blog.csdn.net/wenzhou1219/article/details/10573821),

在dos命令行使用 cl,link 最终完成了所有源代码的编译,并且生成的 com dll 能在脚本语言(vbscript, asp) 中成功调用。

 

-----------------------------------------------------------------------------

由于vc6头一回用,相关的编译命令不熟悉,查了半天资料:

编译:

cl IExample2.c /c

link /def:IExample2.def /dll IExample2.obj uuid.lib oleaut32.lib

 

//创建类型库

MIDL IExample2.idl

 


//注册 com dll

cl RegIExample2.c /c

link RegIExample2.obj user32.lib comdlg32.lib oleaut32.lib Advapi32.lib

 

 

//测试

cl IExampleApp2.c /c

link IExampleApp2.obj user32.lib uuid.lib oleaut32.lib Ole32.lib

 

-----------------------------------------------------------------------------

使用 gcc 编译:

 

//编译 com dll

gcc -shared -o IExample2.dll IExample2.c IExample2.def -luuid -loleaut32


//创建我们的类型库 (需要用到 vc6 的 MIDL)

MIDL IExample2.idl


//注册 com dll
gcc -o RegIExample2.exe RegIExample2.c -lcomdlg32 -loleaut32

 

//测试
gcc -o IExampleApp2.exe IExampleApp2.c -luuid -loleaut32 -lOle32

 

-----------------------------------------------------------------------------

 

最后,关于在 vbscript 中调用的时候,必需:IExample2.tlb (通过 MIDL IExample2.idl 生成的)

网上说可以将 tlb 文件嵌入到 dll 文件中,但操作上似乎有点复杂,一时没解决。

posted @ 2015-08-24 15:49  personnel  阅读(1083)  评论(0编辑  收藏  举报
友情链接:图片批量处理工具 gif动态图制作工具 制作电子相册 图片排版工具 制作淘宝主图视频 MKScript 鼠标键盘自动化脚本语言