• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号
您的位置:首页 > 程序设计 >vc/mfc > 请教如何使用cl、midl指令编译com源文件和idl文件??

请教如何使用cl、midl指令编译com源文件和idl文件??

作者:佚名 字体:[增加 减小] 来源:互联网 时间:2017-06-04

佚名通过本文主要向大家介绍了midl,midl define guid,midl.exe,spawning midl.exe,midl是什么意思等相关知识,希望对您有所帮助,也希望大家支持linkedu.com www.linkedu.com
问题: 请教如何使用cl、midl指令编译com源文件和idl文件??
描述:

请教各位大虾如何在vc下使用cl命令编译一个简单的com原代码和用midl命令编译接口文件://FirstSrv.idl
import "oaidl.idl";
      [
         object,
         uuid(3ec1ed54-bd0a-4747-b018-cb79286d1ed2)
      ]
  interface IFirstInterface:IUnknown
  {
  HRESULT DoSomething() 
  };
  [
  uuid(b7625d7f-38fa-4398-8ea5-8e49d189fe19),
  version(1.0)
  ]
  library FirstTypelib
  {
  importlib("stdole32.tlb");
  [
  uuid(e36d943e-2358-4516-818b-5f98760141d3)
  ]
  coclass FirstComponent
  {
  [default] interface IFirstInterface;
  };
  };
#include  <iostream>
#include <objbase.h>
using namespace std;
#ifndef IFACE_H
#define IFACE_H
interface IX
{
virtual void _stdcall FX1()=0;
virtual void _stdcall Fx2()=0;
};
interface IY
{
virtual void _stdcall Fy1()=0;
virtual void _stdcall Fy2()=0;
}
class ca:public IX,public IY{
virtual void _stdcall FX1(){cout<<"CA::FX1"<<endl;}
virtual void _stdcall FX2(){cout<<"CA::FX1"<<endl;}
virtual void _stdcall FY1(){cout<<"CA::FY1"<<endl;}
virtual void _stdcall FY2(){cout<<"CA::FY2"<<endl;}
};
#endif
#include <iostream>
#include <objbase.h>
#include "iface.h"
using namespace std;
void trace(const char* pMsg){cout<<pMsg<<endl;}
int main()
{
trace("Client:Create an instance of the component.");
ca* pA=new ca;
IX* pIX=pA;
trace("Client:Use the IX interface.");
pIX->FX1();
pIX->Fx2();
IY* pIY=pA;
trace("Client:Delete the component.");
delete pA;
return 0;
}


分享到:QQ空间新浪微博腾讯微博微信百度贴吧QQ好友复制网址打印

您可能想查找下面的文章:

  • 用midl从idl文件导出h文件失败,怎么办?
  • 我在vc中#include<wbemidlh>时提示没有找到这个文件,怎么办啊?
  • MIDL中如何定义返回BSTR数组的方法?
  • 求助:关于DEFINE_GUID的问题
  • MIDL2311编译错误:调换了Include的次序/修改了Olectlh文件/运行了相关的bat
  • 为什么DEFINE_GUID无效?
  • 谁能介绍几本讲解midl的书?
  • midl编译时总是报告errorMIDL2183:unexpectedendoffilefound
  • 我想用midl编译写好的idl文件,不会用这个编译器,求救啊
  • MIDL生成文件的使用问题?

相关文章

  • 2017-06-05 求一笔刷CBrush的例子,本人是菜鸟,希望能从怎么建工程开始讲。
  • 2017-06-05 ActiveX界面出了问题
  • 2017-06-05 不用全局HOOK如何监视某个进程窗口的键盘和鼠标消息?
  • 2017-06-04 我想做一个word浏览器,能不能实现,用什么技术
  • 2017-06-05 在WIN32窗口程序中使用OCX,结果退出时报错
  • 2017-06-04 shell扩展右键菜单为什么不显示
  • 2017-06-04 如何获取已注册的组件的路径信息
  • 2017-06-04 如何编译ATL的COM服务器?
  • 2017-06-05 怎么建立动态的线程
  • 2017-06-04 WTL视图内按钮响应基本问题大家看下

文章分类

  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号

最近更新的内容

    • ActiveMovie如何释放文件?
    • 怎么让CHtmlView不加载IE的BHO?
    • 线程套节子的问题(高手救命)
    • 如何从一个进程终止另一个进程或子进程?
    • 如何通过服务调用IActiveDesktoppActiveDesktop的SetWallpaper?
    • 抄的一个例子关于活动桌面问题,不知是何故,报错
    • 添加GridCtrl后出现"unexpectedendoffilefound"错误
    • COM+组件的注册问题?
    • DLL里的函数是用C写的,在MCF下使用的问题
    • SOS求救DLL问题

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有