Sind Golang binaries portable?

Nehme an, ich bin hauptsächlich Linux user, aber ich entwickle eine Anwendung in Gehen, ich will cross-Plattform. Ich habe gesucht um, aber ich kann nicht scheinen, Informationen zu finden, zu entbinden die folgenden:

  1. Wenn ich go install eine binäre auf meinem amd64 Ubuntu-system, wird es auch arbeiten auf jemand anderes 64-bit-Ubuntu/Debian-system?
  2. Wie kann ich go install zu bauen, um eine x86_64-binary, die auch out-of-the-box auf 32-bit-Debianlikes?
  3. Wenn es sein muss, verwenden Sie Windows, um eine Binärdatei, die auf Windows laufen, wie kann ich auch dafür sorgen, dass selbst wenn mein Windows-system ist 64-bit die ausführbare Datei erstellt werden, für x86_64?

Meine Fragen in der Wirkung einkochen, "wie static/portable go' s linker/compiler?"

  • Ich bin mir nicht sicher, was Sie Fragen. Binär-Dateien sind portabel zwischen verschiedenen Systemen mit dem gleichen OS und Architektur. Gehen Sie baut den binären für Ihre host-GOOS und GOARCH sofern Sie nichts anderes angeben. Sie können nicht nehmen Sie eine 64bit Version und führen Sie es auf einem 32bit system.
  • Das war nicht meine Erfahrung mit dem erstellen von Binärdateien, die gemeint sind, um cross-Plattform.
  • Um deine Frage zu beantworten: "gar Nicht." Einfach, weil diese unmöglich ist, zu tun. Kein compiler/linker/loader/toolchain kann dies tun. Google cross-compilation-das ist trivial mit Gehen.
  • Wenn das hans nicht deine Erfahrung, dann brauchen Sie, um uns zu zeigen das problem. Die Frage "wie static/portable go' s linker/compiler?" macht nicht viel Sinn.
  • Off-topic. Dieses tool einfach Ihr Leben github.com/mitchellh/gox
InformationsquelleAutor cat | 2015-11-23
Schreibe einen Kommentar