Compilation du code Go sans informations de débogage
Dans Go, les informations de débogage sont incluses par défaut lors de la compilation, ce qui peut faciliter le débogage du code . Cependant, ces informations peuvent également être extraites pour décompiler le code. Pour éviter cela, nous devons exclure les informations de débogage lors de la compilation.
Utilisation de -ldflags
L'indicateur -ldflags peut être utilisé pour transmettre des options à l'éditeur de liens. Pour supprimer la table des symboles et les informations de débogage, ajoutez -s -w à l'option -ldflags. Voici un exemple :
go build -ldflags="-s -w" main.go
Astuce supplémentaire pour Go 1.13
Dans Go 1.13 et versions ultérieures, l'indicateur -trimpath peut être utilisé pour réduire la longueur des chemins de fichiers. stocké dans l'exécutable. Cela peut minimiser davantage la taille du binaire généré.
Remarque sur gccgo
Il est important de noter que l'utilisation de gccgo, un compilateur Go basé sur GCC, ne résout pas le problème. Si vous compilez sans l'indicateur -g en utilisant gccgo, vous rencontrerez une erreur liée aux informations de débogage manquantes.
Recommandation
Pour supprimer complètement les informations de débogage, il est Il est recommandé d'utiliser l'option -ldflags="-s -w". Cela supprime efficacement les symboles et les informations de débogage, ce qui rend plus difficile la décompilation du binaire compilé.
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!