什么是导入型的情况下,有效标记环境?(What is the effective tagging e

2019-08-18 00:35发布

举个例子,让我们假设如下设置:

有明确的标签的标记环境中的模块定义A定义一个Foo类型。 而模块B与隐式标签的环境进口foo和它分配给吧。

当使用读取模块B流并不清楚我该标记的环境是有效的。 并模块B限定杆的标记环境(隐式)(被导入富)或是它被宣布(FOO中模块A为此显式)有效模块的标记环境?

我希望我解释的问题不够好

Answer 1:

首先,进口不喜欢的#include文本的事情在C.它只是使类型不使用自己的模块名称限定他们访问的其他模块。

X.680 13.1注4具体讲你的问题:

“TagDefault”为模块定义的值只影响模块中明确定义这些类型。 它不影响进口类型的解释。

但请注意,如果在模块B(其中foo是进口的),你写的:

酒吧:: = [APPLICATION 5]富

这将相当于:

酒吧:: = [APPLICATION 5] IMPLICIT富

因为在模块B,其中正在定义的TaggedType,标记环境是隐式的。

什么音符的意思是说,如果在模块A,你有:

FOO :: = SEQUENCE {X [0] INTEGER}

然后在X上的标签是一个明确的标签,因为模块A的标记环境是明确的和富总是会用这种方法处理,即使被导入模块B,其隐式标签的环境。



文章来源: What is the effective tagging environment in case of an imported type?
标签: asn.1