这篇文章给大家介绍使用golang怎么在64位的linux系统中编译一个32位的程序,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。
目标:在64位linux系统上编译出32位程序。
操作:
1.执行 go env 查看当前go环境配置
2.执行 export GOARCH=386 配置go输出系统平台为32位
3.go build 编译程序
4.使用file main 指令查看编译出的可执行程序是否为32位
实践图片:
补充:golang float32/64与[]byte互转
网络协议开发中经常需要将int、float、bool等转为二进制数据,float32、64 与[]byte处理:
import ( "encoding/binary" "math" ) func Float32ToByte(float float32) []byte { bits := math.Float32bits(float) bytes := make([]byte, 4) binary.LittleEndian.PutUint32(bytes, bits) return bytes } func ByteToFloat32(bytes []byte) float32 { bits := binary.LittleEndian.Uint32(bytes) return math.Float32frombits(bits) } func Float64ToByte(float float64) []byte { bits := math.Float64bits(float) bytes := make([]byte, 8) binary.LittleEndian.PutUint64(bytes, bits) return bytes } func ByteToFloat64(bytes []byte) float64 { bits := binary.LittleEndian.Uint64(bytes) return math.Float64frombits(bits) }
关于使用golang怎么在64位的linux系统中编译一个32位的程序就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。