C.free
我正在尝试在我的 Golang 应用程序中使用。我的代码如下:
package main
import (
"fmt"
"unsafe"
)
// #include <stdlib.h>
import (
"C"
)
//export FreeMemory
func FreeMemory(pointer *int64) {
C.free(unsafe.Pointer(pointer))
}
Run Code Online (Sandbox Code Playgroud)
我做了一些搜索,我知道错误是因为我没有stdlib.h
包含,但我包含。
这是我的构建命令:go build --buildmode=c-shared -o main.dll
. 构建后出现的错误是:could not determine kind of name for C.free
我的操作系统是 Windows 10
谢谢
如果“C”的导入前面紧跟着一个注释,则该注释(称为前导码)将在编译包的 C 部分时用作标头。例如:
Run Code Online (Sandbox Code Playgroud)// #include <stdio.h> // #include <errno.h> import "C"
使用紧接前面的 Go 行注释:
package main
import "unsafe"
// #include <stdlib.h>
import "C"
//export FreeMemory
func FreeMemory(pointer *int64) {
C.free(unsafe.Pointer(pointer))
}
func main() {}
Run Code Online (Sandbox Code Playgroud)
使用前面的 Go 一般注释:
package main
import "unsafe"
/*
#include <stdlib.h>
*/
import "C"
//export FreeMemory
func FreeMemory(pointer *int64) {
C.free(unsafe.Pointer(pointer))
}
func main() {}
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
9351 次 |
最近记录: |