适用于Mac OSX的c ++中的变体类型结构(oaidl.h)?

马里克

我正在尝试移植在Windows中开发的c ++ dll,该DLL广泛使用了Variant(ole / com)类型的结构(请参阅https://msdn.microsoft.com/zh-cn/library/windows/desktop/ms221627%28v = vs.85%29.aspx)。此类型在Visual Studio的oaidl.h文件中定义,并通过“ windows.h”导入Windows。

在xcode中的c ++中,是否有任何现有方法可以使用此类型?包含windows.h的建议是毫无意义的,并且不起作用。您知道在OSX上使用此类型的库吗?请注意,变体使用了我在Mac上都找不到的safearray结构。

马丁·史洛特

答案很简单:没有。VARIANT包含许多类型和接口,这些类型和接口仅在Windows环境中才有意义(例如IUnkown)。我本人从Windows开发更改为POSIX C ++ OSX和Linux。因为我还将代码从Windows传输到标准的Unix世界。

恕我直言,影响最小的方法是用自己的类型(例如,MYVARIANT)替换VARIANT,并只移动您真正需要的并集部分。这使您可以自由地在Microsoft和世界其他地方进行typedef切换。

但是我个人认为您应该尝试摆脱它。尝试至少将其封装在一个类中。COM(这对开发人员来说是个好主意的最好例子),其VARIANT系统是我在其他任何系统上都缺少的最后一件事。

更新当我进行更深入的搜索时,我发现boost在这里具有变体系统:http : //www.boost.org/doc/libs/1_36_0/doc/html/variant.html

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

适用于Mac OSX的c ++中的变体类型结构(oaidl.h)?

来自分类Dev

更改 tkinter 中按钮的颜色适用于 Windows,但不适用于 Mac OSX

来自分类Dev

Qt C++ macOS 问题。我正在使用函数 .find("a word") 在多组中搜索单词,它适用于 Windows,但不适用于 mac

来自分类Dev

适用于Windows和Mac的glext.h

来自分类Dev

适用于Mac OSX的IPython3

来自分类Dev

适用于Docker机器的Golang Mac OSX构建

来自分类Dev

C ++中的函数重载。不适用于float,适用于double

来自分类Dev

适用于Mac的Eclipse C ++ GDB调试器

来自分类Dev

在 c 中使用 python api 不适用于 mac

来自分类Dev

C ++:适用于此给定方案的数据结构

来自分类Dev

哪种MySQL字段类型适用于'%H:%i'(例如'01:23'和'23:45')?

来自分类Dev

ImportError:适用于osx而不适用于ubuntu

来自分类Dev

适用于MySQL的H2中的DATE_SUB和DATE_ADD

来自分类Dev

Spring Boot App + H2(在内存中)不适用于Docker容器

来自分类Dev

适用于MySQL的H2中的DATE_SUB和DATE_ADD

来自分类Dev

limits.h 中定义的限制 FILENAME_MAX 是否适用于目录?

来自分类Dev

适用于C ++ 11中每个合法的语句

来自分类Dev

引用指针不适用于C ++中的头文件

来自分类Dev

磁盘写入不适用于C中的malloc

来自分类Dev

在适用于Android的Apache Cordova中访问C ++代码

来自分类Dev

适用于Linux的C ++中的屏幕分辨率

来自分类Dev

在C ++中创建静态库(.a)(不适用于iOS)

来自分类Dev

C中的HashTable不适用于字符串

来自分类Dev

在 c# 中,in 子句适用于整数吗?

来自分类Dev

函数重载不适用于 C++ 中的模板?

来自分类Dev

C++ 中的 fin 是否适用于 .doc 文件?

来自分类Dev

OrdinalIgnoreCase 不适用于 c# 中的动态数组

来自分类Dev

适用于Mac OSX的Intellij Idea CE命令行启动

来自分类Dev

是否有适用于Mac OSX的App-V / Docker?

Related 相关文章

  1. 1

    适用于Mac OSX的c ++中的变体类型结构(oaidl.h)?

  2. 2

    更改 tkinter 中按钮的颜色适用于 Windows,但不适用于 Mac OSX

  3. 3

    Qt C++ macOS 问题。我正在使用函数 .find("a word") 在多组中搜索单词,它适用于 Windows,但不适用于 mac

  4. 4

    适用于Windows和Mac的glext.h

  5. 5

    适用于Mac OSX的IPython3

  6. 6

    适用于Docker机器的Golang Mac OSX构建

  7. 7

    C ++中的函数重载。不适用于float,适用于double

  8. 8

    适用于Mac的Eclipse C ++ GDB调试器

  9. 9

    在 c 中使用 python api 不适用于 mac

  10. 10

    C ++:适用于此给定方案的数据结构

  11. 11

    哪种MySQL字段类型适用于'%H:%i'(例如'01:23'和'23:45')?

  12. 12

    ImportError:适用于osx而不适用于ubuntu

  13. 13

    适用于MySQL的H2中的DATE_SUB和DATE_ADD

  14. 14

    Spring Boot App + H2(在内存中)不适用于Docker容器

  15. 15

    适用于MySQL的H2中的DATE_SUB和DATE_ADD

  16. 16

    limits.h 中定义的限制 FILENAME_MAX 是否适用于目录?

  17. 17

    适用于C ++ 11中每个合法的语句

  18. 18

    引用指针不适用于C ++中的头文件

  19. 19

    磁盘写入不适用于C中的malloc

  20. 20

    在适用于Android的Apache Cordova中访问C ++代码

  21. 21

    适用于Linux的C ++中的屏幕分辨率

  22. 22

    在C ++中创建静态库(.a)(不适用于iOS)

  23. 23

    C中的HashTable不适用于字符串

  24. 24

    在 c# 中,in 子句适用于整数吗?

  25. 25

    函数重载不适用于 C++ 中的模板?

  26. 26

    C++ 中的 fin 是否适用于 .doc 文件?

  27. 27

    OrdinalIgnoreCase 不适用于 c# 中的动态数组

  28. 28

    适用于Mac OSX的Intellij Idea CE命令行启动

  29. 29

    是否有适用于Mac OSX的App-V / Docker?

热门标签

归档