有人遇到过这样的问题吗 “ main function has more than 200 local variables”

有人遇到过这样的问题吗 “ main function has more than 200 local variables” ,

这是我一个协议文件里的,超过了200个局部变量,这个文件是自动生成的 , 我看网上有 500个的 ,求解答

最好用若干table组织下这些变量

解决了,都放到table里就OK了 谢谢啦

请问是如何解决的? 我遇到相同的问题
是修改生成的文件吗? 还是其他什么方法?

等不及了, 就自己操作了。
我的解决方法是把声明成了local的全部放到一个table里
先声明local pb_desc = {}
比如person_pb里面
local PERSON = protobuf.Descriptor();
修改成
pb_des.PERSON = protobuf.Descriptor();

然后全部替换, 把PERSON替换成pb_desc.PERSON

结果现在已经通过200 local var的错误,
现在还是手工替换, 等会把研究下命令自动替换所有local的。

先把自己的方法放出来, 省的其他和我一样的新手心浮气躁的。

分成多个文件处理。

我回来发个警告, 不要使用protoc-gen-lua这个插件, repeated submessage 解析报错, 前置申明了也一样报错.
巨坑!!! 浪费半个月时间!!!

local 去掉可以吗

你是手动替换200个变量的么?有自动处理的脚本了吗?

你好 我把local变量改到表里之后 repeated解析报错 请问你是指这个问题么 解决了没?

脚本也有了, 出现和9楼一样的问题.
现在换云风的pbc了.

云风的好使么?

是必现的吗,我这边试了下可以解析啊