首页 > 后端开发 > Golang > 正文

无法在32位机器上运行Golang应用程序

PHPz
发布: 2024-02-12 19:10:08
转载
1374人浏览过

无法在32位机器上运行golang应用程序

php小编鱼仔指出,最近有用户反映在32位机器上无法运行Golang应用程序的问题。经过调查发现,这是因为Golang语言的设计初衷是为了在64位系统上运行,而32位系统的地址空间有限,无法满足Golang的需求。因此,如果你在32位机器上想要运行Golang应用程序,可能需要考虑升级到64位系统,或者使用其他适合32位系统的编程语言来开发应用程序。

问题内容

我在 64 位机器上将 Golang 构建为 32 位版本。但是,它有一个问题,当我这样构建时,它将获取 SysWOW64 文件夹中的“kernel32.dll”,但是当我在 32 位计算机(Windows 7)中运行时。它没有 SysWOW64 文件夹,因此返回错误:

致命错误:找不到kernel32.dll

这是我的 go 构建命令:

立即学习go语言免费学习笔记(深入)”;

无线网络修复工具(电脑wifi修复工具) 3.8.5官方版
无线网络修复工具(电脑wifi修复工具) 3.8.5官方版

无线网络修复工具是一款联想出品的小工具,旨在诊断并修复计算机的无线网络问题。它全面检查硬件故障、驱动程序错误、无线开关设置、连接设置和路由器配置。 该工具支持 Windows XP、Win7 和 Win10 系统。请注意,在运行该工具之前,应拔出电脑的网线,以确保准确诊断和修复。 使用此工具,用户可以轻松找出并解决 WiFi 问题,无需手动排查故障。它提供了一键式解决方案,即使对于非技术用户也易于使用。

无线网络修复工具(电脑wifi修复工具) 3.8.5官方版 0
查看详情 无线网络修复工具(电脑wifi修复工具) 3.8.5官方版
go build -ldflags "-s -w"
登录后复制

这是我的环境:

set GO111MODULE=
set GOARCH=386
set GOBIN=
set GOCACHE=C:\Users\name\AppData\Local\go-build
set GOENV=C:\Users\name\AppData\Roaming\go\env
set GOEXE=.exe
set GOEXPERIMENT=
set GOFLAGS=
set GOHOSTARCH=amd64
set GOHOSTOS=windows
set GOINSECURE=
set GOMODCACHE=C:\Users\name\go\pkg\mod
set GONOPROXY=
set GONOSUMDB=
set GOOS=windows
set GOPATH=C:\Users\name\go
set GOPRIVATE=
set GOPROXY=https://proxy.golang.org,direct
set GOROOT=C:\Program Files\Go
set GOSUMDB=sum.golang.org
set GOTMPDIR=
set GOTOOLCHAIN=auto
set GOTOOLDIR=C:\Program Files\Go\pkg\tool\windows_amd64
set GOVCS=
set GOVERSION=go1.21.1
set GCCGO=gccgo
set GO386=sse2
set AR=ar
set CC=gcc
set CXX=g++
set CGO_ENABLED=1
set GOMOD=D:\Center\go.mod
set GOWORK=
set CGO_CFLAGS=-O2 -g
set CGO_CPPFLAGS=
set CGO_CXXFLAGS=-O2 -g
set CGO_FFLAGS=-O2 -g
set CGO_LDFLAGS=-O2 -MT
set PKG_CONFIG=pkg-config
set GOGCCFLAGS=-m32 -mthreads -Wl,--no-gc-sections -fmessage-length=0 -ffile-prefix-map=C:\Users\name\AppData\Local\Temp\go-build581533674=/tmp/go-build -gno-record-gcc-switches
登录后复制

谁能给我建议一个解决方案吗?

解决方法

根据 phuclv 的回答:“SysWOW64 是 64 位 Windows 上的 32 位 System32。32 位应用程序对 %windir%\System32 的所有访问都将重定向到 %windir%\SysWOW64。”

所以我认为在你的情况下,你需要构建一个32位机器(或虚拟机),然后复制构建你的代码在那里。当然,您必须降级某些库以匹配操作系统,有时这可能具有挑战性。

以上就是无法在32位机器上运行Golang应用程序的详细内容,更多请关注php中文网其它相关文章!

相关标签:
最佳 Windows 性能的顶级免费优化软件
最佳 Windows 性能的顶级免费优化软件

每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。

下载
来源:stackoverflow网
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
最新问题
热门推荐
开源免费商场系统广告
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号