크로스 플랫폼 컴파일, 크로스 컴파일이라고도 하는데, Win 플랫폼에서 컴파일하여 Linux 플랫폼에서 실행 파일로 만들 수 있습니다.
이것이 Go가 인기 있는 이유이기도 합니다. Java, Python, php 등의 언어의 경우 일반적으로 win 플랫폼에서 개발하고 배포할 때 Linux에 배포하는 것이 더 번거롭습니다. 타사 종속성을 처리하려면 개발이 힘들 뿐만 아니라 운영 및 유지 관리도 피곤합니다. 이제 docker가 이러한 문제점을 해결하지만 여전히 원래만큼 편안하지는 않습니다.
Go를 사용하면 타사 종속성이 무엇이든 실행 파일로만 패키징되어 즉시 직접 배포되며, 더 야심적인 경우에는 그렇게 하지 않습니다. Nginx도 필요하지 않지만 동시성 문제는 전혀 걱정하지 마세요.
예제
은 win 플랫폼에서 Linux 플랫폼 실행 파일로 컴파일됩니다. cmd
에서 다음 명령을 순서대로 실행합니다.
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
위 내용은 Golang 크로스 플랫폼 컴파일 구현의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!