ホームページ  >  記事  >  バックエンド開発  >  32 ビット マシンで Golang アプリケーションを実行できない

32 ビット マシンで Golang アプリケーションを実行できない

PHPz
PHPz転載
2024-02-12 19:10:081029ブラウズ

32 ビット マシンで Golang アプリケーションを実行できない

php エディターの Yuzai さんは、最近一部のユーザーが 32 ビット マシンで Golang アプリケーションを実行できないという問題を報告していると指摘しました。調査の結果、これは Golang 言語が元々 64 ビット システムで動作するように設計されており、32 ビット システムのアドレス空間は限られており、Golang のニーズを満たすことができないためであることがわかりました。したがって、32 ビット マシンで Golang アプリケーションを実行したい場合は、64 ビット システムにアップグレードすることを検討するか、32 ビット システムに適した他のプログラミング言語を使用してアプリケーションを開発することをお勧めします。

質問内容

Golangを64ビットマシン上で32ビット版としてビルドしました。ただし、問題があります。このようにビルドすると、SysWOW64 フォルダーに「kernel32.dll」が作成されますが、32 ビット マシン (Windows 7) で実行すると、「kernel32.dll」が生成されます。 SysWOW64 フォルダーがないため、次のエラーが返されます:

致命的エラー: kernel32.dll が見つかりません

これは私の go build コマンドです:

リーリー

これは私の環境です:

リーリー

誰か解決策を提案してもらえますか?

回避策

phuclvの答えによると、「SysWOW64は64ビットWindows上の32ビットSystem32です。32ビットアプリケーションは%windirを使用する必要があります」 %\System32 へのすべてのアクセスは %windir%\SysWOW64 にリダイレクトされます。"

したがって、あなたの場合は、 32 ビット マシン (または仮想マシン) を構築し、次に コピーして コードをそこに構築する必要があると思います。もちろん、オペレーティング システムに合わせて一部のライブラリを ダウングレード する必要がありますが、これは難しい場合があります。

以上が32 ビット マシンで Golang アプリケーションを実行できないの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事はstackoverflow.comで複製されています。侵害がある場合は、admin@php.cn までご連絡ください。