• 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 > 有个简单问题请教大家,STDMETHOD,STDAPI,STDMETHODIMP区别

有个简单问题请教大家,STDMETHOD,STDAPI,STDMETHODIMP区别

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

佚名通过本文主要向大家介绍了 有个简单问题请教大家,STDMETHOD,STDAPI,STDMETHODIMP区别等相关知识,希望对您有所帮助,也希望大家支持linkedu.com www.linkedu.com
问题: 有个简单问题请教大家, STDMETHOD, STDAPI, STDMETHODIMP区别
描述:

1. STDMETHOD 加上那个virtual 有什么用? 必须得有吗?
2. STDAPI 什么时候没有export keyword, 如果没有就不能被外部看到了吗?
3. 他们之间的区别和用法
thanks a lot


解决方案1:

Virtual 是c++的关键字,表示这个函数是个虚函数,推荐看看C++教程。
其它几个宏,都是WINdows中有关调用方法和输出的定义,推荐看看WINDOWS程序设计。
先多读些参考书吧。

解决方案2:

1.#ifdef _WIN32   // Win32 doesn't support __export
   #define STDMETHODCALLTYPE     __stdcall
#else
   #define STDMETHODCALLTYPE     __export __stdcall
#endif
2.#define STDMETHOD(method)     virtual HRESULT STDMETHODCALLTYPE method
3.#define STDMETHODIMP     HRESULT STDMETHODCALLTYPE
4.#define STDAPI     EXTERN_C HRESULT STDAPICALLTYPE
5.#ifdef __cplusplus
   #define EXTERN_C     extern "C"
#else
   #define EXTERN_C     extern
#endif
6.typedef LONG          HRESULT;

解决方案3:

简单的说,就是函数默认是__cdecl调用方式,一般其他语言用的是__stdcall方式,所以用c++写的程序中的函数要想被别的语言调用,就必须申明__stdcall,WIN32 API大部分是这种方式的,以上一些宏只是对它们的简单包装而已.

解决方案4:

gz


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

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

  • 有个简单问题请教大家,STDMETHOD,STDAPI,STDMETHODIMP区别

相关文章

  • 2017-06-05 浏览器的后退/前进按钮功能如何实现
  • 2017-06-04 如何在自动化COM对象的方法中使用自定义数据类型
  • 2017-06-05 高分求助:用SDK做了一个IE工具条,无法实现工具条变小时出现的扩展箭头,也就是Chevron!
  • 2017-06-04 ATLObject类的继承问题/急急
  • 2017-06-04 如何使用c/c++和winsdk编写有窗口界面的activexcontrol?
  • 2017-06-05 疑难求解:写调度程序最近的项目中需要写一个调度程序,碰到不少问题,做过类似工作或知道的朋友请指导下,多谢!
  • 2017-06-04 关于ATL控件的事件?好难!!!!
  • 2017-06-04 用VC++如何选取Excel指定的某整行,整列
  • 2017-06-04 关于导出一个组件的接口,以及接口的方法
  • 2017-06-04 Service型态的进程外DCOM组件打包发行时如何实现程序配置而非手动配置。应该注意哪些方面啊?

文章分类

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

最近更新的内容

    • 请教一个关于VARIANT类型作为参数的COM组件问题
    • 刚学COM,没想明白
    • asp中调用com的问题!
    • 已有h和lib文件,封装新的DLL问题
    • 如何在dll中获得载入该dll的进程的当前窗口或者主窗口?
    • win7编译的ActiveX部署在server2003上,网页会出现“iexplorexe错误,应用程序发生异常,未知的软件异常”
    • 求助:ReadProcessMemory调用失败
    • 获取页面提交的文本信息
    • 用VC的MFCActiveXWizard向导,写ocx控件,为什么在里面加的弹出菜单总是灰色不可用?
    • 怎么实现web迅雷这样,应用程序跟web页面交互,但是不弹出警告信息的方法?

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

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