有人能解释一下raw_interfaces_only到底做了什么吗?
例如,
#import <xyz.dll> raw_interfaces_only 我无法理解在msdn站点中提供的一个线性解释。
发布于 2012-08-09 10:04:16
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属性会导致生成较少的包装代码。
发布于 2012-08-09 10:06:46
那么,看看谷歌,惰性链接的第一个理由,它似乎是一个“属性”
形成这一页:
#import "filename" [attributes]
#import <filename> [attributes]然后,我们可以自己阅读仅限属性所做的工作:
raw_interfaces_only属性禁止生成使用这些包装函数的错误处理包装函数和__declspec(属性)声明。
在我看来,这是一个简单的例子,它有助于减少从导入库、减少包装代码和为您完成错误检查而造成的麻烦。
https://stackoverflow.com/questions/11880696
复制相似问题