我有一个非常简单的设置:一个 .go 文件(测试.go)和一个 .c 文件 (PMDK.c)。我在Go中包含.c文件,如下所示:
测试.go:
package main
/*
#include "PMDK.c"
#cgo pkg-config: libpmem
*/
import "C"
func main() {
C.helloWorld()
}
当我运行 go run test.go 时,它只构建了一次。无论我对PMDK.c进行任何更改,我的程序每次都有完全相同的行为。
我还尝试了去构建test.go,这导致了同样的结果。最后,在CGo不在同一目录中编译C文件之后,我只是去构建。这不起作用,因为我必须创建一个.mod文件(去构建测试.go)。然后,问题在于PMDK.c中的三个函数(helloWorld和其他两个函数)应该被多次定义。我无法让它构建我的更改。顺便说一句,如果我将源文件复制/移动到另一个目录并在那里构建它们,则更改将适用(仅一次,再次)。
跃然一笑
宝慕林4294392
随时随地看视频慕课网APP
相关分类