2 回答
TA贡献1877条经验 获得超1个赞
1-这是示例代码,每次构建时都会自行更改(也因为嵌入__DATE__并且__TIME__每次构建时都会更改):
package main
/*
#include<stdint.h>
#include<string.h>
void getCompileDateTime(uint8_t dt[12],uint8_t tm[9]){
strcpy(dt, __DATE__); //Mmm dd yyyy
strcpy(tm, __TIME__); //hh:mm:ss
}
*/
import "C"
import (
"fmt"
"unsafe"
)
func main() {
dt := make([]byte, 12)
tm := make([]byte, 10)
C.getCompileDateTime((*C.uint8_t)(unsafe.Pointer(&dt[0])), (*C.uint8_t)(unsafe.Pointer(&tm[0])))
dts, tms := string(dt), string(tm)
fmt.Println(dts, tms)
}
2-
一旦使用 cgo,二进制文件将在 DWARF 部分中包含 $WORK 路径
当前问题:
1. cgo 构建中的 $WORK 路径泄漏。
2. -cover 和测试中的 $WORK 路径泄漏。
参考:https : //github.com/golang/go/issues/9206
3- 多次构建纯 Go 程序将生成相同的二进制文件。
我希望这有帮助。
- 2 回答
- 0 关注
- 182 浏览
添加回答
举报