我能得到的最接近的是runtime.GOARCH
,但是也可能給出arm
,它可能是32位或64位。如何確定操作系統在Go中是32位還是64位?
1
A
回答
1
使用GOARCH的手臂:手臂(ARM)和arm64(AArch64),
Optional environment variables
$ GOOS和$ GOARCH
目標操作系統和編譯架構的名稱。 這些默認值分別爲$ GOHOSTOS和$ GOHOSTARCH的值分別爲 (如下所述)。
選擇爲$ GOOS是
$GOOS $GOARCH darwin 386 darwin amd64 darwin arm darwin arm64 dragonfly amd64 freebsd 386 freebsd amd64 freebsd arm linux 386 linux amd64 linux arm linux arm64 linux ppc64 linux ppc64le linux mips64 linux mips64le netbsd 386 netbsd amd64 netbsd arm openbsd 386 openbsd amd64 openbsd arm plan9 386 plan9 amd64 solaris amd64 windows 386 windows amd64
+1
IIUC,'runtime.GOARCH'將返回正在執行的內置*程序*的體系結構。由於某些方面(即Intel/AMD的64位ISA)允許在64位內核上運行32位程序,所以如果OP真的想知道當前正在執行Go程序的操作系統的體系結構,應該是不同的(而且,恐怕是針對平臺的)。 – kostix
相關問題
- 1. 如何確定我的操作系統是32位還是64位?
- 2. 無論系統是32位還是64位,int都是32位還是64位?
- 3. 無論系統是32位還是64位,uint均爲32位?
- 4. 確定從32位操作系統或64位操作系統C/C++應用
- 5. 是否有API知道當前的iOS/Mac是64位操作系統還是32位操作系統?
- 6. 什麼數據類型是32位操作系統中的16位和64位操作系統中的32位?
- 7. 32位/ 64位操作系統?
- 8. 如何確定System.Diagnostics.Process是32位還是64位?
- 9. Windows 64位操作系統上的32位或64位Android SDK?
- 10. 如何檢測Flex中的32位或64位操作系統?
- 11. 如果操作系統是64位
- 12. WMI和Win32_Process - 確定是32位還是64位?
- 13. 確定當前的PowerShell Process是32位還是64位?
- 14. 確定可執行文件(或庫)是32位還是64位
- 15. 確定iOS設備是32位還是64位
- 16. 在32位操作系統中使用64位dll
- 17. 是否可以在64位操作系統中使用32位STS?
- 18. 如何確定Python中的數字是32位還是64位整數?
- 19. 如何從句柄中確定進程是32位還是64位?
- 20. 如何確定在Windows上安裝的庫是32位還是64位?
- 21. 如何以編程方式確定特定進程是32位還是64位
- 22. 在64位操作系統上編寫程序時,程序是否會運行在32位操作系統上?
- 23. 對32位系統中的64位字進行操作
- 24. 32位DLL不能在64位操作系統
- 25. 安裝在64位操作系統上的Windows 32位Eclipse?
- 26. JNA在64位操作系統上具有32位JVM
- 27. 在64位操作系統上調試32位CASSINI(Oracle 9)
- 28. 在64位操作系統上啓動32位進程
- 29. 開在64位操作系統32位Visual C#項目
- 30. 在64位架構上的32位操作系統
'runtime.GOARCH'會給你的架構的程序編譯運行的。爲了獲得實際系統的體系結構細節,您可能最終不得不檢查'runtime.GOOS',並執行平臺特定的系統調用。 –