使用cgo从go vet获取所有错误

使用cgo从go vet获取所有错误,go,cgo,Go,Cgo,go-vet和go-build通常在发现10个错误后停止,并在cgo代码库上运行时以“错误过多”中止: $ go version go version go1.10 linux/amd64 $ go vet loremipsum src/loremipsum/foo.go:103: invalid operation: _Ctype__Bool(IS_OK(c)) && IS_EVIL(c) (mismatched types _Ctype__Bool and bool) #

go-vet
go-build
通常在发现10个错误后停止,并在cgo代码库上运行时以“
错误过多”中止:

$ go version
go version go1.10 linux/amd64

$ go vet loremipsum
src/loremipsum/foo.go:103: invalid operation: _Ctype__Bool(IS_OK(c)) && IS_EVIL(c) (mismatched types _Ctype__Bool and bool)
# 9 other vet issues
src/loremipsum/foo.go:203: too many errors
该项目足够大,每个命令都需要~分钟才能运行,因此我更愿意一次获得所有问题的完整列表

我可以通过传递
-gcflags“-e”
()


如何对go-vet执行相同的操作(它不接受
-gcflags
参数!)

go-vet
不会在10条消息时停止,它会查找并打印所有消息。你是如何运行它的?@icza我的意思是,它对我来说真的很有用-使用
go-vet$packagename
运行它,作为statedc,你可以创建一个文件,在其中放入
f()
函数,并在它的主体中放入20条
return
语句。然后在此软件包上运行
go vet
。这将给出19条消息(“无法访问的代码”)。您是否收到19条消息?另外,您是否可以将
-v
传递给vet,以便它可能会显示错误以及停止的原因
go-vet-v
对,我怀疑这与cgo有关,谢谢-我确实从一个纯go文件中收到了19条消息
go vet-v
没有提供任何额外有用的信息