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