gpt4 book ai didi

go - 避免在 cgo 导出函数文档中出现空行

转载 作者:行者123 更新时间:2023-12-01 22:24:57 24 4
gpt4 key购买 nike

我正在用 Go 编写一个库,我正在使用 CGo 将其编译为 native 库,但是当导出函数时,它们在函数声明和文档注释之间有这个烦人的空行。

例如,假设我的 go 文件中有这个

/**
* Prints an integer.
*
* @param p0 an integer to print.
*/
//export PrintInteger
func PrintInteger(val C.int) {
fmt.Printf("%v", val);
}

一旦它在我的 C 头文件中导出,它看起来像这样

/**
* Prints an integer.
*
* @param p0 an integer to print.
*/

extern void PrintInteger(int p0);

大多数情况下,该空行不是问题,但是在某些 IDE 上,在解析该头文件时,它们很难正确显示智能感知,从而使头的使用更加困难。尤其是当您考虑到 cgo renames function parameters 的方式时

有什么办法可以避免它,而无需在生成后手动修改头文件?

编辑:

我发现我认为是 go 源代码中导致此问题的区域:

https://github.com/golang/go/blob/master/src/cmd/cgo/out.go#L922

最佳答案

go 1.15 中应该包含对此的修复。

https://go-review.googlesource.com/c/go/+/222419/

关于go - 避免在 cgo 导出函数文档中出现空行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60572706/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com