>  기사  >  백엔드 개발  >  Golang 크로스 플랫폼 컴파일 구현

Golang 크로스 플랫폼 컴파일 구현

Go语言进阶学习
Go语言进阶学习앞으로
2023-07-21 10:03:391105검색

크로스 플랫폼 컴파일

크로스 플랫폼 컴파일, 크로스 컴파일이라고도 하는데, 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

Golang 크로스 플랫폼 컴파일 구현

然后执行go build,得到的就是能够在linux上,可执行的文件。

Golang 크로스 플랫폼 컴파일 구현

我现在将这个文件上传到我的云服务器上,如下图所示。

Golang 크로스 플랫폼 컴파일 구현

之后执行,可以看到,我云服务器上连Go环境都没,但是仍然可以执行成功。

Golang 크로스 플랫폼 컴파일 구현

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 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
이 기사는 Go语言进阶学习에서 복제됩니다. 침해가 있는 경우 admin@php.cn으로 문의하시기 바랍니다. 삭제