Compilation 由于Erlang中的系统限制,列表到原子失败

Compilation 由于Erlang中的系统限制,列表到原子失败,compilation,erlang,asn.1,Compilation,Erlang,Asn.1,我试图用Erlang的asn1ct:compile函数编译一个asn文件。我运行以下代码: asn1ct:compile("PDU-definitions", [per, verbose]). 然后得到以下错误: ... {error,{system_limit,[{erlang,list_to_atom, ["enc_InterRATHandoverInfo_v390NonCriticalExtensions_present_v3a0NonCriticalExtens

我试图用Erlang的asn1ct:compile函数编译一个asn文件。我运行以下代码:

asn1ct:compile("PDU-definitions", [per, verbose]).
然后得到以下错误:

...
{error,{system_limit,[{erlang,list_to_atom,
            ["enc_InterRATHandoverInfo_v390NonCriticalExtensions_present_v3a0NonCriticalExtensions_laterNonCriticalExtensions_v3g0NonCriticalExtensions_v4b0NonCriticalExtensions_v4d0NonCriticalExtensions_v590NonCriticalExtensions_v690NonCriticalExtensions_nonCriticalExtensions"],           []},
...
我在谷歌上搜索发现有一个。由于ASN文件中嵌套的数据结构太多,相应atom的长度超过了限制

我的问题是:如果我可以将默认长度限制修改为一个更大的值,或者对于这种情况有一些解决方法


谢谢

从R17开始,除了修改源代码和重新编译之外,仍然没有办法修改Erlang中的最大字符限制。对asn1ct文档的粗略观察表明,也没有改变atom编码行为的方法

我看到的最佳选择是编译的“n2n”选项,它指示编译器生成用于进行名称到枚举转换的函数。然而,我假设在这种情况下它仍然会构造原子,这将是一个没有实际意义的问题

文档中没有其他内容建议更改名称构造行为,因此严重嵌套的数据结构将导致问题