Élimination des chemins de fichiers dans les binaires go avec des directives TEXTE
Pour supprimer les chemins de fichiers tels que "/Users/myuser/dev/go/src/ fooapi/spikes/mongoapi.go" à partir des exécutables go, utilisez l'indicateur -trimpath comme suit :
CGO_ENABLED=0 go build -v -a -ldflags="-w -s" \ -gcflags=-trimpath=/Users/myuser/dev/go/src \ -asmflags=-trimpath=/Users/myuser/dev/go/src \ -o ./fooapi spikes/mongoapi.go
Mécanisme de -trimpath :
L'indicateur -trimpath transmis à la fois à -gcflags et -asmflags supprime les préfixes spécifiés des chemins de fichiers source enregistrés dans le elfe binaire.
Résultat Vérification :
Exécutez go tool objdump ./fooapi pour afficher le résultat modifié :
$ go tool objdump ./fooapi . . TEXT main.init(SB) api/spikes/mongoapi.go mongoapi.go:60 0x12768c0 65488b0c25a0080000 GS MOVQ GS:0x8a0, CX mongoapi.go:60 0x12768c9 483b6110 CMPQ 0x10(CX), SP mongoapi.go:60 0x12768cd 7663 JBE 0x1276932 . .
Attention sur la bande :
Le L'outil Strip a fait l'objet d'une controverse dans la communauté Go, malgré les affirmations de résolution. Des bugs imprévus ont été signalés ; reportez-vous aux discussions liées pour plus d'informations.
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!