2014-06-24 2 views
1

컴파일 된 Go 언어는 무엇입니까? 아무도 그물에 어디서든 그것을 쓰고 싶지 않습니다. 나는 목표 언어를 찾고있다. 아마도 어셈블리, C 또는 재배치 가능한 머신 코드라고 생각합니까?대상 언어로 이동

+2

이렇게하면 런타임이 어떻게 구현되는지, 목표 코드가 아닌지에 대한 답을 얻을 수 있습니다. 큰 차이가 있습니다. 실행 시간은 대상 코드가 실행되는 방법입니다. 대상 코드는 코드가 컴파일되는 대상입니다. 예제 Java는 .class 파일 (대상 코드)로 컴파일되지만 실행 시간은 대상 코드를 해석하는 Java Virtual Machine입니다. – Smarties89

답변

6

참조 구현이 원시 기계 코드로 이동합니다. 코드는 재배치 할 수 없도록 생성됩니다.

이 언어는 다른 대상 플랫폼도 사용할 수 있도록 설계되었습니다. 예를 들어, Go 코드를 Javascript 및 PHP로 컴파일하는 구현이 있습니다.

공유 라이브러리에서 Go 코드를 사용할 수 없습니다.

+0

좀 더 자세한 정보를 얻을 수 있도록 참고 자료를 제공해 줄 수 있습니까? – Smarties89

+0

'-shared'가있는 gccgo는 go와 공유 라이브러리를 빌드하는 데 사용될 수 있다고 생각합니다. –

+0

@matthias krull 이것이 원칙적으로 사실이지만, 결과 공유 라이브러리는 Go 프로그램에서만 사용할 수 있으며 dlopen() 또는 이와 유사한 기능과 함께 사용할 수 없습니다. – fuz

관련 문제