PHP小编鱼仔指出,最近有用户反映在32位机器上无法运行golang应用程序的问题。经过调查发现,这是因为Golang语言的设计初衷是为了在64位系统上运行,而32位系统的地址空间有限
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 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应用程序的详细内容,更多请关注编程网其它相关文章!
--结束END--
本文标题: 无法在32位机器上运行Golang应用程序
本文链接: https://www.lsjlt.com/news/563913.html(转载时请注明来源链接)
有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341
下载Word文档到电脑,方便收藏和打印~
2024-04-05
2024-04-05
2024-04-05
2024-04-04
2024-04-05
2024-04-05
2024-04-05
2024-04-05
2024-04-04
回答
回答
回答
回答
回答
回答
回答
回答
回答
回答
一口价域名售卖能注册吗?域名是网站的标识,简短且易于记忆,为在线用户提供了访问我们网站的简单路径。一口价是在域名交易中一种常见的模式,而这种通常是针对已经被注册的域名转售给其他人的一种方式。
一口价域名买卖的过程通常包括以下几个步骤:
1.寻找:买家需要在域名售卖平台上找到心仪的一口价域名。平台通常会为每个可售的域名提供详细的描述,包括价格、年龄、流
443px" 443px) https://www.west.cn/docs/wp-content/uploads/2024/04/SEO图片294.jpg https://www.west.cn/docs/wp-content/uploads/2024/04/SEO图片294-768x413.jpg 域名售卖 域名一口价售卖 游戏音频 赋值/切片 框架优势 评估指南 项目规模
0