>  기사  >  백엔드 개발  >  golang은 무엇으로 쓰여 있나요?

golang은 무엇으로 쓰여 있나요?

(*-*)浩
(*-*)浩원래의
2019-12-27 11:50:132780검색

golang은 무엇으로 쓰여 있나요?

Google은 Go 1.5 부트스트랩을 구현할 계획을 발표했습니다. 관련 문서의 저자는 거의 6년 동안 Go 언어 작업을 해온 Go 핵심 개발자 Russ Cox입니다. Russ에 따르면 Google은 "Go 소스 트리에서 모든 C 프로그램을 제거하는 방법"에 대해 1년 동안 연구해 왔습니다. (추천 학습 : go)

부트스트래핑은 "컴파일할 대상 프로그래밍 언어의 컴파일러(또는 어셈블러)를 작성하는" 과정입니다.

일반적으로 부트스트랩에는 다음과 같은 여러 가지 장점이 있습니다.

부트스트랩되는 언어를 테스트하는 데

일반적으로 더 높은 수준이고 더 높은 수준의 추상화를 제공하는 언어로 컴파일러 작성을 지원합니다. 컴파일러는 언어 수준의 개선을 통해 이점을 얻을 수도 있습니다.

앞서 언급했듯이 Google은 이전에 Go 소스 트리에서 C 코드를 제거하려는 노력을 시작했습니다. 변환 계획은 5단계로 나뉩니다.

1단계 - 기존 C를 번역하는 Go 언어 번역기용 C 코드 개발 Go 언어로 컴파일러를 만듭니다. 이 단계에서는 원래 컴파일러가 매크로, 공용체, 포인터 연산과 같이 Go 언어로 이식하기 어려운 일부 기능을 광범위하게 사용하지 않았다는 사실을 활용합니다.

2단계 - 컴파일러의 소스 코드 트리를 변환하여 Go 언어 컴파일러를 얻습니다. 하지만 더 원시적이고 C 스타일입니다.

3단계 - 주로 패키지 식별, 문서 추가 및 단위 테스트를 통해 이전에 얻은 컴파일러를 Go 언어 습관에 맞는 프로그램으로 변환합니다.

4단계 - 컴파일러를 최적화하고 컴파일러와 CPU의 메모리 사용 문제를 해결하며 병렬화를 도입할 수도 있습니다.

또한 중복성을 제거하는 컴파일러의 능력을 향상시키는 것을 목표로 아키텍처 독립적인 순서가 지정되지 않은 트리(Node*s)와 현재 사용되는 아키텍처 종속 순서가 지정된 목록(Prog*s) 사이에 새로운 중간 표현을 도입해 보십시오. . 남은 nil 검사 및 경계 검사 최적화

위 내용은 golang은 무엇으로 쓰여 있나요?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.