이것은 Ubuntu Online, Fedora Online, Windows 온라인 에뮬레이터 또는 MAC OS 온라인 에뮬레이터와 같은 여러 무료 온라인 워크스테이션 중 하나를 사용하여 OnWorks 무료 호스팅 제공업체에서 실행할 수 있는 aarch64-linux-gnu-gccgo-5 명령입니다.
프로그램:
이름
gccgo - Go 언어용 GCC 기반 컴파일러
개요
gccgo [-c|-S]
[-g] [-페이지] [-O수평]
[-IDIR...] [-LDIR...]
[-o 아웃파일] 인파일...
가장 유용한 옵션만 여기에 나열됩니다. 나머지는 아래를 참조하십시오.
기술
이 어플리케이션에는 XNUMXµm 및 XNUMXµm 파장에서 최대 XNUMXW의 평균 출력을 제공하는 gccgo 명령은 프론트엔드입니다. GCC 동일한 옵션을 많이 지원합니다. 이것
설명서는 특정 옵션만 문서화합니다. gccgo.
이 어플리케이션에는 XNUMXµm 및 XNUMXµm 파장에서 최대 XNUMXW의 평균 출력을 제공하는 gccgo 명령을 사용하여 Go 소스 코드를 개체 파일로 컴파일하고
목적 파일을 함께 수집하거나 둘 다 순차적으로 수행합니다.
Go 소스 코드는 패키지로 컴파일됩니다. 패키지는 하나 이상의 Go 소스로 구성됩니다.
파일. 단일 패키지의 모든 파일은 모든 파일을 전달하여 함께 컴파일해야 합니다.
파일을 인수로 gccgo. 단일 호출 gccgo 단일 컴파일만 가능
패키지.
하나의 Go 패키지는 다른 Go 패키지를 "가져올" 수 있습니다. 가져온 패키지에는 다음이 있어야 합니다.
이미 컴파일되었습니다. gccgo 컴파일된 패키지에서 직접 가져오기 데이터를 읽습니다.
이 패키지가 나중에 링크될 때 패키지의 컴파일된 형태는
링크 명령.
Go 프로그램은 일반적으로 디버깅 정보로 컴파일되어야 하며, -g1 기본값입니다.
아래에 설명된 대로. Go 프로그램을 제거하면 일반적으로 오작동하거나 실패하게 됩니다.
옵션
-IDIR
컴파일 시 가져오기 패키지를 검색할 때 사용할 디렉터리를 지정합니다.
-LDIR
링크할 때 다음과 같이 라이브러리 검색 디렉토리를 지정하십시오. GCC.
-fgo-pkg경로=현
사용할 패키지 경로를 설정합니다. 이것은 PkgPath 메소드에 의해 반환된 값을 설정합니다.
Reflect.Type 개체. 전역적으로 볼 수 있는 기호의 이름에도 사용됩니다. NS
이 옵션에 대한 인수는 일반적으로 이 옵션을 가져오는 데 사용할 문자열이어야 합니다.
설치된 후 패키지; 즉, 디렉토리 내의 경로 이름
에 의해 지정된 -I 옵션을 선택합니다.
-fgo-접두사=현
대안 -fgo-pkgpath. 인수는 패키지 이름과 결합됩니다.
소스 파일에서 패키지 경로를 생성합니다. 만약에 -fgo-pkgpath 사용,
-fgo-접두사 무시됩니다.
Go는 단일 프로그램이 동일한 이름의 패키지를 두 개 이상 포함할 수 있도록 허용합니다.
소스 파일의 "package" 절, 분명히 두 패키지는
다른 경로 이름을 사용하여 가져옵니다. 이것이 작동하려면 gccgo어느 쪽이든
-fgo-pkgpath or -fgo-접두사 패키지를 컴파일할 때 지정해야 합니다.
둘 중 하나 사용 -fgo-pkgpath or -fgo-접두사 "메인"의 특수 처리를 비활성화합니다.
패키지를 만들고 해당 패키지를 다른 패키지와 마찬가지로 가져올 수 있습니다.
-fgo-상대적-가져오기-경로=DIR
상대 가져오기는 다음으로 시작하는 가져오기입니다. ./ or ../. 이 옵션을 사용하면
gccgo 사용하게 될 DIR 검색할 때 상대 가져오기의 접두사로 사용됩니다.
-자주 반환 문
-fno-require-return-statement
기본적으로 gccgo 하나 이상의 반환 매개변수가 있는 함수에 대해 경고합니다.
그러나 명시적인 "반환" 문이 부족합니다. 이 경고는 다음을 사용하여 비활성화될 수 있습니다.
-fno-require-return-statement.
-fgo-체크-나누기-XNUMX
XNUMX으로 나누기에 대한 명시적 검사를 추가합니다. Go에서 XNUMX으로 나누기(또는 모듈러스)
패닉을 일으킵니다. Unix 시스템에서 이것은 런타임에서 다음을 포착하여 감지됩니다.
"SIGFPE" 신호. PowerPC와 같은 일부 프로세서는 SIGFPE를 생성하지 않습니다.
XNUMX으로 나누기. 일부 런타임은 포착할 수 있는 신호를 생성하지 않습니다. 에
이러한 시스템에서는 이 옵션을 사용할 수 있습니다. 또는 다음을 통해 수표를 제거할 수 있습니다.
-fno-go-check-divide-XNUMX. 이 옵션은 현재 기본적으로 켜져 있지만 앞으로
필요하지 않은 시스템에서는 기본적으로 꺼져 있을 수 있습니다.
-fgo-check-divide-overflow
분할 오버플로에 대한 명시적 검사를 추가합니다. 예를 들어, 나눗셈 오버플로는 다음과 같은 경우에 발생합니다.
"INT_MIN / -1"을 계산합니다. Go에서는 "INT_MIN"을 생성하기 위해 이것을 래핑해야 합니다. 일부
x86과 같은 프로세서는 분할 오버플로에 대한 트랩을 생성합니다. 이러한 시스템에서 이
옵션을 사용할 수 있습니다. 또는 다음을 통해 수표를 제거할 수 있습니다. -fno-go-check-divide-overflow.
이 옵션은 현재 기본적으로 켜져 있지만 향후에는 기본적으로 꺼져 있을 수 있습니다.
필요하지 않은 시스템.
-g 이것이 표준이다 GCC 옵션. 기본적으로 여기에서 언급됩니다. gccgo 결국
표준 옵션에 해당하는 디버깅 정보 생성 시 -g1.
Go 프로그램을 사용하려면 디버깅 정보가 필요하기 때문입니다.
역추적 정보를 얻습니다. 명시적 -g0 생성을 비활성화하는 데 사용할 수 있습니다.
디버깅 정보, 이 경우 다음과 같은 특정 표준 라이브러리 기능
"runtime.Callers"가 올바르게 작동하지 않습니다.
onworks.net 서비스를 사용하여 온라인으로 aarch64-linux-gnu-gccgo-5 사용