Maison >développement back-end >Golang >Comment identifier les valeurs GOOS et GOARCH d'un exécutable sans sa base de code ?

Comment identifier les valeurs GOOS et GOARCH d'un exécutable sans sa base de code ?

Patricia Arquette
Patricia Arquetteoriginal
2024-10-31 15:39:01406parcourir

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

Détermination des valeurs GOOS et GOARCH d'un exécutable

Il est possible de connaître les valeurs de GOOS et GOARCH, le système d'exploitation et l'architecture du processeur respectivement, utilisé pour créer un exécutable sans posséder la base de code elle-même. Ces informations sont disponibles via les constantes du package d'exécution.

runtime.GOOS et runtime.GOARCH

Le package d'exécution fournit deux constantes, runtime.GOOS et runtime.GOARCH. , qui révèlent les valeurs des variables d'environnement correspondantes au moment de la compilation. Ces constantes sont accessibles tout au long de l'exécution de l'exécutable, même si elles n'influencent pas son comportement d'exécution.

Exemple d'implémentation

Le programme Go simple suivant illustre comment récupérer le système d'exploitation et l'architecture d'exécution. informations :

<code class="go">package main

import (
    "fmt"
    "runtime"
)

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

La compilation et l'exécution de ce programme avec les valeurs GOOS et GOARCH spécifiées (par exemple, GOOS=windows GOARCH=amd64) impriment le résultat attendu :

OS: windows
Architecture: amd64

Remarque

Avant Go 1.10, runtime.GOROOT() renvoyait la valeur GOROOT enregistrée au moment de la compilation. Cependant, dans Go 1.10 et versions ultérieures, il vérifie la variable d'environnement GOROOT et utilise sa valeur si elle est définie.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn