Heim > Backend-Entwicklung > Golang > Wie identifiziere ich die GOOS- und GOARCH-Werte einer ausführbaren Datei ohne ihre Codebasis?

Wie identifiziere ich die GOOS- und GOARCH-Werte einer ausführbaren Datei ohne ihre Codebasis?

Patricia Arquette
Freigeben: 2024-10-31 15:39:01
Original
393 Leute haben es durchsucht

How to Identify the GOOS and GOARCH Values of an Executable Without Its Codebase?

Bestimmen der GOOS- und GOARCH-Werte einer ausführbaren Datei

Es ist möglich, die Werte von GOOS und GOARCH, dem Betriebssystem und der Prozessorarchitektur, zu ermitteln bzw. werden verwendet, um eine ausführbare Datei zu erstellen, ohne über die Codebasis selbst zu verfügen. Diese Informationen sind über Konstanten im Laufzeitpaket verfügbar.

runtime.GOOS und runtime.GOARCH

Das Laufzeitpaket stellt zwei Konstanten bereit: runtime.GOOS und runtime.GOARCH , die die Werte der entsprechenden Umgebungsvariablen zum Zeitpunkt der Kompilierung offenlegen. Auf diese Konstanten kann während der gesamten Ausführung der ausführbaren Datei zugegriffen werden, obwohl sie deren Laufzeitverhalten nicht beeinflussen.

Beispielimplementierung

Das folgende einfache Go-Programm veranschaulicht, wie das Laufzeitbetriebssystem und die Architektur abgerufen werden Informationen:

<code class="go">package main

import (
    "fmt"
    "runtime"
)

func main() {
    fmt.Println("OS:", runtime.GOOS)
    fmt.Println("Architecture:", runtime.GOARCH)
}</code>
Nach dem Login kopieren

Das Kompilieren und Ausführen dieses Programms mit angegebenen GOOS- und GOARCH-Werten (z. B. GOOS=windows GOARCH=amd64) druckt die erwartete Ausgabe:

OS: windows
Architecture: amd64
Nach dem Login kopieren

Hinweis

Vor Go 1.10 gab runtime.GOROOT() den zur Kompilierungszeit aufgezeichneten GOROOT-Wert zurück. In Go 1.10 und höher wird jedoch nach der Umgebungsvariablen GOROOT gesucht und deren Wert verwendet, falls festgelegt.

Das obige ist der detaillierte Inhalt vonWie identifiziere ich die GOOS- und GOARCH-Werte einer ausführbaren Datei ohne ihre Codebasis?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage