有人可以解释一下 raw_interfaces_only 实际上做了什么吗?
例如,
#import <xyz.dll> raw_interfaces_only
我无法理解msdn 站点中提供的单行解释。
有人可以解释一下 raw_interfaces_only 实际上做了什么吗?
例如,
#import <xyz.dll> raw_interfaces_only
我无法理解msdn 站点中提供的单行解释。
禁止生成错误处理包装函数和使用这些包装函数的属性 (C++) 声明。
和
raw_interfaces_only 属性还会导致删除用于命名非属性函数的默认前缀。通常,前缀是 raw_。如果指定了此属性,则函数名称直接来自类型库。
此属性允许您仅公开类型库的低级内容。
您还可以使用和不使用此属性进行构建,并比较生成.tlh
的文件以查看差异:
#import <imapi2.dll> // --> imapi2-without.tlh
#import <imapi2.dll> raw_interfaces_only // --> imapi2-with.tlh
该raw_interfaces_only
属性导致生成较少的包装器代码。
好吧,看看谷歌的第一个结果,惰性链接,它似乎是一个“属性”
形成该页面:
#import "filename" [attributes]
#import <filename> [attributes]
然后我们可以自己阅读raw_interfaces_only属性的作用:
raw_interfaces_only 属性禁止生成错误处理包装函数和使用这些包装函数的 __declspec(property) 声明。
这听起来像是一个简单的案例,它有助于减少导入库带来的混乱,减少包装代码和为您完成的错误检查。