Protocol Buffers Version 2中“import weak”的含义是什么?

时间:2015-11-26 08:08:42

标签: protocol-buffers

协议缓冲区版本2语言规范中的

Import Statement具有以下文本:

import = "import" [ "weak" | “public”] strLit ";" 

但是,“协议缓冲版本2语言指南”中的Importing Definitions仅讨论public的使用。 import weak是什么意思?我google了一个答案。但我没有找到解释。

1 个答案:

答案 0 :(得分:2)

弱导入是可选的依赖项。

有关详细信息,请参阅EnforceWeakDependencies的文档:

void DescriptorPool::EnforceWeakDependencies(
        bool enforce)
     

默认情况下,允许缺少弱导入,在这种情况下,我们将使用占位符作为依赖项,并将该字段转换为空消息字段。

     

但是,如果调用EnforceWeakDependencies(true),DescriptorPool将报告导入未找到错误。