Plattformübergreifende Kompilierung, auch Cross-Compilation genannt, ich kann es auf der Win-Plattform in eine ausführbare Datei auf der Linux-Plattform kompilieren.
Dies ist auch der Grund, warum Go so beliebt ist. Für Sprachen wie Java, Python, PHP usw. entwickeln wir normalerweise auf der Win-Plattform und stellen sie unter Linux bereit Der Umgang mit Abhängigkeiten von Drittanbietern ist nicht nur ermüdend, sondern auch der Betrieb und die Wartung. Obwohl Docker dieses Problem jetzt löst, sollte es immer noch nicht so komfortabel sein wie ursprünglich.
Wenn Sie Go verwenden, wird es unabhängig von den Abhängigkeiten von Drittanbietern nur in eine ausführbare Datei gepackt und direkt und mit hoher Parallelität bereitgestellt. Egal wie groß Ihr Herz ist Ich brauche nicht einmal Nginx, aber mach dir keine Sorgen über Parallelitätsprobleme.
Beispiel
wird in eine ausführbare Datei der Linux-Plattform auf der Win-Plattform kompiliert. Führen Sie unter cmd
nacheinander folgende Befehle aus:
SET CGO_ENABLED=0 // 禁用CGO SET GOOS=linux // 目标平台是linux SET GOARCH=amd64 // 目标处理器架构是amd64
然后执行go build
,得到的就是能够在linux上,可执行的文件。
我现在将这个文件上传到我的云服务器上,如下图所示。
之后执行,可以看到,我云服务器上连Go环境都没,但是仍然可以执行成功。
Windows下编译Mac平台64位可执行程序:
SET CGO_ENABLED=0 SET GOOS=darwin SET GOARCH=amd64 go build
Mac 下编译 Linux 和 Windows平台 64位 可执行程序:
CGO_ENABLED=0 GOOS=linux GOARCH=amd64 go build CGO_ENABLED=0 GOOS=windows GOARCH=amd64 go build
Linux 下编译 Mac 和 Windows 平台64位可执行程序:
CGO_ENABLED=0 GOOS=darwin GOARCH=amd64 go build CGO_ENABLED=0 GOOS=windows GOARCH=amd64 go build
Das obige ist der detaillierte Inhalt vonImplementieren Sie die plattformübergreifende Golang-Kompilierung. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!