영어FrenchGermanItalianPortugueseRussianSpanish

온웍스 파비콘

mips64el-linux-gnuabi64-gfortran - 클라우드의 온라인

Ubuntu Online, Fedora Online, Windows 온라인 에뮬레이터 또는 MAC OS 온라인 에뮬레이터를 통해 OnWorks 무료 호스팅 제공업체에서 mips64el-linux-gnuabi64-gfortran 실행

이것은 Ubuntu Online, Fedora Online, Windows 온라인 에뮬레이터 또는 MAC OS 온라인 에뮬레이터와 같은 여러 무료 온라인 워크스테이션 중 하나를 사용하여 OnWorks 무료 호스팅 공급자에서 실행할 수 있는 mips64el-linux-gnuabi64-gfortran 명령입니다.

프로그램:

이름


gfortran - GNU 포트란 컴파일러

개요


지포트란 [-c|-S|-E]
[-g] [-페이지] [-O수평]
[-W경고...] [-페단 틱]
[-IDIR...] [-LDIR...]
[-D매크로[=데프]...] [-U매크로]
[-f선택권...]
[-m기계 옵션...]
[-o 아웃파일] 인파일...

가장 유용한 옵션만 여기에 나열됩니다. 나머지는 아래를 참조하십시오.

기술


그리고, 지포트란 명령은 다음에서 지원하는 모든 옵션을 지원합니다. GCC 명령. 옵션만
GNU Fortran에만 해당하는 내용이 여기에 문서화되어 있습니다.

모든 GCC 및 GNU Fortran 옵션은 다음에서 모두 허용됩니다. 지포트란 과 별 GCC (뿐만 아니라 어떤
같은 시간에 구축된 다른 드라이버 g ++), GCC에 GNU Fortran을 추가한 이후
배포를 통해 모든 관련 드라이버가 GNU Fortran 옵션을 수락할 수 있습니다.

경우에 따라 옵션에는 긍정적인 형태와 부정적인 형태가 있습니다. 의 부정적인 형태 - 푸푸 겠지
be -fno-foo. 이 설명서는 이 두 가지 형식 중 하나만 문서화합니다.
태만.

옵션


다음은 유형별로 그룹화된 GNU Fortran의 모든 옵션에 대한 요약입니다.
설명은 다음 섹션에 있습니다.

포트란 언어선택 옵션 중
- 가을의 본질 -f백슬래시 -fcray 포인터 -fd-lines-as-code -fd-lines-as-comments
-fdefault-더블-8 -fdefault-정수-8 -fdefault-real-8 -fdollar-ok
-고정 라인 길이-n -fixed-line-length-none -자유 형식 -ffree-line-length-n
-ffree-line-length-none -암시적 없음 -finteger-4-integer-8 -fmax-식별자-길이
-fmodule-private -고정형 -fno 범위 확인 -fopenacc -fopenmp -real-4-real-10
-real-4-real-16 -real-4-real-8 -real-8-real-10 -real-8-real-16 -real-8-real-4
-표준=표준

전처리 옵션 중
-에이-문제[=답변] -A문제=답변 -C -CC -D매크로[=데프] -H -P -U매크로 -cpp -dD
-디 -dM -NS -두 -fworking-디렉토리 -imultilib DIR -ipprefix 파일 - 인용 -isysroot DIR
-아이시스템 DIR -nocpp -nostdinc -언데프

오류 경고 옵션 중
-왈리아싱 -벽 -Wampersand -워레이 경계 -Wc 바인딩 유형 -문자 잘림
-W변환 -Wfunction 제거 - 암묵적 인터페이스 - 암묵적 절차
-윈트린직 섀도우 -Wuse-without-only -Wintrinsics-std -Wline 잘림
-Wno-align-commons -Wno-탭 -Wreal-q-상수 -놀라움 -분더플로우
-Wunused-매개변수 -Wrealloc-lhs -Wrealloc-lhs-all -Wtarget-평생 -fmax-오류=n
-fsyntax 전용 -페단 틱 - 현학적 오류

디버깅 옵션 중
-fbacktrace -fdump-fortran 최적화 -fdump-fortran-original -fdump-parse-tree
-ffpe-트랩=명부 -ffpe-요약=명부

예배 규칙서 옵션 중
-IDIR -JDIR -fintrinsic-modules-path DIR

링크 옵션 중
-정적-libgfortran

런타임 옵션 중
-f변환=변환 -fmax-하위 레코드 길이=길이 -frecord-마커=길이 -fsign-XNUMX

암호 세대 옵션 중
-공격적 기능 제거 -fblas-matmul-limit=n -fbounds-check
-fcheck-array-temporaries -fcheck=
-fcoarray= -fexternal-blas -ff2c -ffrontend 최적화
-한정 문자=n - 유한 정수 =n -finit-local-zero - 유한 논리 =
-finit-real= -fmax-배열 생성자=n -fmax-stack-var-size=n
-fno-align-commons -fno-자동 -fno 보호 괄호 -fno-밑줄
-fsecond-밑줄 -fpack 파생 -frealloc-lhs - 재귀 -frepack-배열
-fshort-enums -fstack-배열

옵션 중 제어 포트란 방언
다음 옵션은 컴파일러에서 허용하는 포트란 방언의 세부 정보를 제어합니다.

-자유 형식
-고정형
소스 파일에서 사용하는 레이아웃을 지정합니다. 자유 형식 레이아웃이 도입되었습니다.
Fortran 90. 고정 형식은 전통적으로 이전 Fortran 프로그램에서 사용되었습니다. 언제
옵션이 지정되지 않은 경우 소스 형식은 파일 확장자에 의해 결정됩니다.

- 가을의 본질
이 옵션을 사용하면 모든 내장 프로시저(GNU 특정 확장 포함)가
받아들여지다. 이것은 다음과 함께 유용할 수 있습니다. -std=f95 표준 준수를 강요하지만
사용 가능한 모든 내장 기능에 대한 액세스 지포트란. 결과로서,
-Wintrinsics-std 무시되고 다음과 같은 이름을 가진 사용자 정의 프로시저가 없습니다.
명시적으로 "EXTERNAL"로 선언된 경우를 제외하고 모든 내장 함수가 호출됩니다.

-fd-lines-as-code
-fd-lines-as-comments
고정 형식 소스에서 "d" 또는 "D"로 시작하는 줄에 대해 특별 처리를 활성화합니다.
경우 -fd-lines-as-code 옵션이 주어지면 첫 번째 열처럼 처리됩니다.
공백이 포함되어 있습니다. 만약 -fd-lines-as-comments 옵션이 주어지면 다음과 같이 처리됩니다.
코멘트 라인.

-fdollar-ok
허용 $ 기호 이름에서 첫 번째가 아닌 유효한 문자로. 로 시작하는 기호 $ 아르
암시적 타이핑에 적용할 규칙이 서로 다르기 때문에 거부됨
공급업체는 다른 규칙을 구현합니다. 사용 $ "IMPLICIT" 문도 거부됩니다.

-f백슬래시
단일 백슬래시에서 문자열 리터럴의 백슬래시 해석 변경
문자를 "C 스타일" 이스케이프 문자로 변환합니다. 다음 조합이 확장됩니다.
"\a", "\b", "\f", "\n", "\r", "\t", "\v", "\\" 및 "\0"을 ASCII 문자로
경고, 백스페이스, 양식 피드, 줄 바꿈, 캐리지 리턴, 가로 탭, 세로 탭,
각각 백슬래시 및 NUL입니다. 또한 "\x"nn, "\u"NNNN 및 "\U"ㅋㅋㅋㅋㅋ
(어디서 각각 n 는 XNUMX진수) 유니코드 문자로 변환됩니다.
지정된 코드 포인트에 해당합니다. 캐릭터의 다른 모든 조합
\가 앞에 오는 것은 확장되지 않습니다.

-fmodule-private
모듈 엔터티의 기본 액세스 가능성을 "PRIVATE"로 설정합니다. 사용 관련
엔티티는 "PUBLIC"으로 명시적으로 선언되지 않는 한 액세스할 수 없습니다.

-고정 라인 길이-n
일반적인 고정 형식 줄에서 문자가 무시되는 열을 설정합니다.
소스 파일 및 이후 공백이 가정되는(해당 길이만큼 채워진 것처럼)
짧은 고정 형식 라인의 끝.

에 대한 인기 값 n 72(표준 및 기본값), 80(카드 이미지) 및
132(일부 인기 있는 컴파일러의 "확장 소스" 옵션에 해당). n 5월
또한 없음, 전체 행이 의미 있고 계속되는 문자를 의미합니다.
상수에는 줄을 채우기 위해 암시적 공백이 추가되지 않습니다.
-고정 줄 길이-0 다음과 같은 의미 -fixed-line-length-none.

-ffree-line-length-n
소스의 일반적인 자유 형식 행에서 문자가 무시되는 열을 설정합니다.
파일. 기본값은 132입니다. n없음, 즉 전체 라인은
의미있는. -ffree-line-length-0 다음과 같은 의미 -ffree-line-length-none.

-fmax-식별자-길이=n
최대 허용 식별자 길이를 지정합니다. 일반적인 값은 31(Fortran 95) 및
63(Fortran 2003 및 Fortran 2008).

-암시적 없음
명시적 "IMPLICIT"에 의해 재정의되지 않는 한 암시적 입력이 허용되지 않도록 지정합니다.
진술. 이것은 모든 시작 부분에 "암시적 없음"을 추가하는 것과 같습니다.
순서.

-fcray 포인터
C와 유사한 포인터 기능을 제공하는 Cray 포인터 확장을 활성화합니다.

-fopenacc
OpenACC 확장을 활성화합니다. 여기에는 자유 형식의 OpenACC "!$acc" 지시문이 포함됩니다.
고정 형식의 "c$acc", *$acc 및 "!$acc" 지시문, "!$" 조건부 컴파일
자유 형식의 센티넬과 고정 형식의 "c$", "*$" 및 "!$" 센티넬
연결은 OpenACC 런타임 라이브러리가 연결되도록 정렬합니다.

이것은 실험적인 기능이며 불완전하며 향후 변경될 수 있습니다.
GCC 버전. 보다https://gcc.gnu.org/wiki/OpenACC> 자세한 내용은.

-fopenmp
OpenMP 확장을 활성화합니다. 여기에는 자유 형식의 OpenMP "!$omp" 지시문이 포함됩니다.
및 "c$omp", *$omp 및 "!$omp" 지시문(고정 형식), "!$" 조건부 컴파일
자유 형식의 센티넬과 고정 형식의 "c$", "*$" 및 "!$" 센티넬
연결은 OpenMP 런타임 라이브러리가 연결되도록 정렬합니다. 옵션 -fopenmp
의미하다 - 재귀.

-fno 범위 확인
동안 상수 표현식의 단순화 결과에 대한 범위 검사 비활성화
편집. 예를 들어, GNU Fortran은 다음과 같은 컴파일 타임에 오류를 제공합니다.
"a = 1. / 0"을 단순화합니다. 이 옵션을 사용하면 오류가 발생하지 않고 "a"가 표시됩니다.
"+Infinity" 값을 할당했습니다. 표현식이 외부 값으로 평가되는 경우
["-HUGE()":"HUGE()"]의 관련 범위인 경우 표현식은 "-Inf"로 대체됩니다.
또는 적절하게 "+Inf". 마찬가지로 "DATA i/Z'FFFFFFFF'/"는 정수가 됩니다.
대부분의 시스템에서 오버플로가 발생하지만 -fno 범위 확인 값은 "래핑"되고
"i"는 대신 -1로 초기화됩니다.

-fdefault-정수-8
기본 정수 및 논리 유형을 8바이트 너비 유형으로 설정합니다. 이 옵션도
42와 같은 정수 상수의 종류에 영향을 미칩니다. -finteger-4-integer-8, 그렇습니다
명시적 종류 선언으로 변수를 승격하지 마십시오.

-fdefault-real-8
기본 실제 유형을 8바이트 너비 유형으로 설정합니다. 이 옵션은 유형에도 영향을 줍니다.
1.0과 같은 이중이 아닌 실수 상수는 "DOUBLE"의 기본 너비를 승격합니다.
PRECISION"을 "-fdefault-double-16"도 지정하지 않는 한 가능하면 8바이트로 설정합니다.
-real-4-real-8, 명시적 종류 선언으로 변수를 승격하지 않습니다.

-fdefault-더블-8
"DOUBLE PRECISION" 유형을 8바이트 너비 유형으로 설정합니다. 이미 있는 경우 아무 것도 하지 마십시오.
기본값. 만약에 -fdefault-real-8 대신 "DOUBLE PRECISION"이 주어집니다.
가능하면 16바이트로 승격하고 -fdefault-더블-8 이를 방지하기 위해 사용할 수 있습니다.
"1.d0"과 같은 실제 상수의 종류는 다음과 같이 변경되지 않습니다. -fdefault-real-8 그래도,
그래서 또한 -fdefault-더블-8 영향을 미치지 않습니다.

-finteger-4-integer-8
모든 "INTEGER(KIND=4)" 엔터티를 "INTEGER(KIND=8)" 엔터티로 승격합니다. "종류=8"인 경우
사용할 수 없으면 오류가 발생합니다. 이 옵션은 주의해서 사용해야 합니다
귀하의 코드에 적합하지 않을 수 있습니다. 우려되는 영역에는 다음 전화가 포함됩니다.
외부 절차, "EQUIVALENCE" 및/또는 "COMMON" 정렬, 일반 인터페이스,
BOZ 리터럴 상수 변환 및 I/O. 중간체 검사
에 의해 생성된 번역된 Fortran 코드의 표현 -fdump-tree-original이다
제안했다.

-real-4-real-8
-real-4-real-10
-real-4-real-16
-real-8-real-4
-real-8-real-10
-real-8-real-16
모든 "REAL(KIND=M)" 엔터티를 "REAL(KIND=N)" 엔터티로 승격합니다. "REAL(KIND=N)"인 경우
사용할 수 없으면 오류가 발생합니다. 다른 모든 실제 종류 유형은 영향을 받지 않습니다.
이 옵션으로. 이러한 옵션은 주의해서 사용해야 하며 다음에는 적합하지 않을 수 있습니다.
당신의 코드. 가능한 우려 영역에는 외부 절차에 대한 호출, 정렬이 포함됩니다.
"EQUIVALENCE" 및/또는 "COMMON"에서 일반 인터페이스, BOZ 리터럴 상수 변환,
및 I/O. 번역된 Fortran의 중간 표현 검사
에 의해 생성된 코드 -fdump-tree-original, 제안됩니다.

-표준=표준
프로그램이 준수할 것으로 예상되는 표준을 지정하십시오.
f95, f2003, f2008, 암소 비슷한 일종의 영양유산. 에 대한 기본값 표준 is 암소 비슷한 일종의 영양, 지정
지원되는 모든 확장을 포함하는 Fortran 95 표준의 상위 집합
GNU Fortran, 권장되지 않는 오래된 확장에 대한 경고가 표시되지만
새 코드에서 사용하기 위해. NS 유산 값은 동일하지만 다음에 대한 경고가 없습니다.
더 이상 사용되지 않는 확장이며 오래된 비표준 프로그램에 유용할 수 있습니다. NS f95, f2003
f2008 값은 Fortran 95, Fortran 2003 및
각각 Fortran 2008 표준; 이외의 모든 확장에 대해 오류가 제공됩니다.
관련 언어 표준 및 Fortran 77 기능에 대한 경고가 제공됩니다.
허용되지만 이후 표준에서는 더 이상 사용되지 않습니다. -std=f2008ts 포트란 2008 허용
기술 사양(TS) 29113 추가를 포함한 표준
추가 병렬 기능에 대한 C 및 TS 18508과 Fortran의 상호 운용성
포트란.

사용 사용자 정의 전처리
전처리기 관련 옵션. 섹션 참조 전처리 조건부의 편집 ...에 대한
의 전처리에 대한 자세한 정보 지포트란.

-cpp
-nocpp
전처리를 활성화합니다. 파일 확장자가 다음과 같은 경우 전처리기가 자동으로 호출됩니다.
is .fpp, .FPP, .F, .을위한, .FTN, .F90, .F95, .F03 or .F08. 이 옵션을 사용하여 수동으로
모든 종류의 Fortran 파일의 사전 처리를 활성화합니다.

위에 나열된 확장자를 가진 파일의 전처리를 비활성화하려면 다음을 사용하십시오.
부정적인 형태: -nocpp.

전처리기는 기존 모드에서 실행됩니다. 파일 형식의 제한 사항,
특히 라인 길이에 대한 제한은 전처리된 출력에도 적용되므로
사용하는 것이 좋습니다 -ffree-line-length-none or -fixed-line-length-none
옵션을 제공합니다.

-dM 일반 출력 대신 모든 '#define' 지시문 목록을 생성하십시오.
미리 정의된 매크로를 포함하여 전처리기 실행 중에 정의된 매크로입니다.
이것은 귀하의 버전에 사전 정의된 것을 찾는 방법을 제공합니다.
전처리기. 파일이 없다고 가정 푸.f90, 명령

터치 foo.f90; gfortran -cpp -E -dM foo.f90

미리 정의 된 모든 매크로가 표시됩니다.

-dD 처럼 -dM 두 가지 측면을 제외하고는 미리 정의된 매크로를 포함하지 않으며
"#define" 지시문과 전처리 결과를 모두 출력합니다. 두 종류의
출력은 표준 출력 파일로 이동합니다.

-NS 처럼 -dD, 그러나 확장이 아닌 매크로 이름만 내보냅니다.

-두 처럼 dD 확장되거나 정의가 테스트된 매크로만 제외
전처리기 지시문이 출력됩니다. 의 사용 또는 테스트가 완료될 때까지 출력이 지연됩니다.
매크로; 및 '#undef' 지시문은 테스트되었지만 정의되지 않은 매크로에 대해서도 출력됩니다.
시간.

-디 전처리 결과 외에 '#include' 지시문을 출력합니다.

-fworking-디렉토리
컴파일러가 허용하는 전처리기 출력에서 ​​라인 마커 생성을 활성화
전처리 시점의 현재 작업 디렉토리를 알고 있습니다. 이 옵션이
활성화되면 전처리기가 초기 라인 마커 다음에 두 번째 라인 마커를 내보냅니다.
현재 작업 디렉토리 뒤에 두 개의 슬래시가 있습니다. GCC는 이것을 사용할 것입니다
디렉토리, 사전 처리된 입력에 있는 경우 다음과 같이 내보낸 디렉토리로
일부 디버깅 정보 형식의 현재 작업 디렉토리. 이 옵션은
디버깅 정보가 활성화된 경우 암시적으로 활성화되지만 다음으로 금지할 수 있습니다.
부정형 -fno-작업 디렉터리. 경우 -P 플래그가 명령에 있습니다.
line에서 "#line" 지시문이 전혀 생성되지 않기 때문에 이 옵션은 효과가 없습니다.

-idirafter DIR
검색 DIR 포함 파일의 경우 다음으로 지정된 모든 디렉토리 다음에 수행하십시오. -I
표준 시스템 디렉토리가 소진되었습니다. DIR 시스템으로 취급된다
디렉토리를 포함합니다. dir이 "="로 시작하면 "="는
sysroot 접두사; 보다 --sysroot-isysroot.

-imultilib DIR
용도 DIR 대상별 C++ 헤더를 포함하는 디렉토리의 하위 디렉토리로 사용됩니다.

-ipprefix 접두사
지정 접두사 후속 접두사로 -iwith 접두사 옵션. 만약 접두사
디렉토리를 나타내므로 마지막 '/'를 포함해야 합니다.

-isysroot DIR
이 옵션은 다음과 같습니다. --sysroot 옵션이지만 헤더 파일에만 적용됩니다. 참조
--sysroot 자세한 내용은 옵션을 참조하십시오.

- 인용 DIR
검색 DIR "#include "file""로 요청된 헤더 파일에만 해당합니다. 그들은 아니다
"#포함"을 검색했습니다. ", 다음에 의해 지정된 모든 디렉토리 앞에 -I 그리고 전에
표준 시스템 디렉토리. 만약에 DIR "="로 시작하면 "="로 대체됩니다.
sysroot 접두사; 보다 --sysroot-isysroot.

-아이시스템 DIR
검색 DIR 헤더 파일의 경우 다음으로 지정된 모든 디렉토리 뒤에 -I 그러나 전에
표준 시스템 디렉토리. 시스템 디렉토리로 표시하여 동일하게 가져옵니다.
표준 시스템 디렉토리에 적용되는 특별한 취급. 만약에 DIR ~로 시작하다
"=", "="는 sysroot 접두사로 대체됩니다. 보다 --sysroot-isysroot.

-nostdinc
헤더 파일에 대한 표준 시스템 디렉토리를 검색하지 마십시오. 디렉토리만
당신은 로 지정했습니다 -I 옵션(및 현재 파일의 디렉토리가 있는 경우
해당)이 검색됩니다.

-언데프
시스템 특정 또는 GCC 특정 매크로를 미리 정의하지 마십시오. 미리 정의된 표준
매크로는 정의된 상태로 유지됩니다.

-A술부=답변
술어로 주장하기 술부 대답 답변. 이 양식은
이전 형식보다 선호되는 -A predicate(answer), 여전히 지원됩니다.
쉘 특수 문자를 사용하지 않습니다.

-에이-술부=답변
술어로 어설션 취소 술부 대답 답변.

-C 댓글을 버리지 마세요. 다음을 제외한 모든 주석은 출력 파일로 전달됩니다.
지시문과 함께 삭제되는 처리된 지시문에 있는 주석의 경우.

사용 시 부작용에 대비해야 합니다. -C; 그것은 전처리기가
댓글을 자체적으로 토큰으로 취급합니다. 예를 들어, 게시판에 표시되는 댓글은
지시 행이 될 것의 시작은 그 행을 다음으로 바꾸는 효과가 있습니다.
줄의 첫 번째 토큰이 더 이상 '#'이 아니기 때문에 일반 소스 줄입니다.

경고: 이것은 현재 C 스타일 주석만 처리합니다. 전처리기는 아직
포트란 스타일 주석을 인식합니다.

-CC 매크로 확장 중을 포함하여 주석을 삭제하지 마십시오. 이것은 마치 -C제외
매크로에 포함된 주석도 출력 파일로 전달됩니다.
매크로가 확장됩니다.

부작용 뿐만 아니라 -C 옵션, -CC 옵션은 모든 C++ 스타일을 유발합니다.
매크로 내부의 주석을 C 스타일 주석으로 변환합니다. 이것은 나중에 방지하기 위해
실수로 소스 행의 나머지 부분을 주석으로 처리하여 해당 매크로를 사용합니다.
그리고, -CC 옵션은 일반적으로 린트 주석을 지원하는 데 사용됩니다.

경고: 이것은 현재 C 및 C++ 스타일 주석만 처리합니다. 전처리기는
아직 Fortran 스타일 주석을 인식하지 못합니다.

-Dname
정의 1과 함께 이름을 매크로로 미리 정의하십시오.

-Dname=정의
내용 정의 토큰화 및 처리됩니다.
'#define' 지시문에서 번역 단계 XNUMX. 특히, 정의는
포함된 개행 문자에 의해 잘립니다.

쉘 또는 쉘과 유사한 프로그램에서 전처리기를 호출하는 경우 다음이 필요할 수 있습니다.
쉘의 인용 구문을 사용하여 공백과 같은 문자를 보호합니다.
쉘 구문의 의미.

명령줄에서 함수와 같은 매크로를 정의하려면 해당 인수를 작성하십시오.
등호(있는 경우) 앞에 괄호가 있는 목록. 괄호는
대부분의 쉘에 의미가 있으므로 옵션을 인용해야 합니다. sh 및 csh를 사용하여
"-D'name(args...)=definition'"이 작동합니다.

-D-U 옵션은 명령줄에 제공된 순서대로 처리됩니다. 모두
-imacros 파일 및 -include 파일 옵션은 모든 -D 및 -U 옵션 후에 처리됩니다.

-H 다른 일반 활동과 함께 사용된 각 헤더 파일의 이름을 인쇄하십시오. 각
name은 '#include' 스택의 깊이를 보여주기 위해 들여쓰기됩니다.

-P 전처리기의 출력에서 ​​라인마커 생성을 금지합니다. 이것은 아마도
C 코드가 아닌 무언가에서 전처리기를 실행할 때 유용하며 전송될 것입니다.
linemarkers에 의해 혼동될 수 있는 프로그램에.

-Uname
이전 정의 취소 name, 내장 또는 제공 -D 옵션을 선택합니다.

옵션 중 의뢰 or 진압하다 오류 경고
오류는 GNU Fortran 컴파일러가 컴파일할 수 없다고 보고하는 진단 메시지입니다.
소스 코드의 관련 부분. 컴파일러는 계속해서 프로그램을 처리합니다.
디버깅을 돕기 위해 추가 오류를 보고하려고 시도하지만 컴파일된 오류를 생성하지 않습니다.
출력.

경고는 본질적으로 그렇지 않은 구성을 보고하는 진단 메시지입니다.
오류가 있지만 위험하거나 프로그램에 버그가 있을 수 있음을 암시합니다.
않는 한 -워러 지정되어 있으면 프로그램 컴파일을 방해하지 않습니다.

옵션이 시작되는 많은 특정 경고를 요청할 수 있습니다. -W예를 들어, - 암묵적
암시적 선언에 대한 경고를 요청합니다. 이러한 특정 경고 옵션은 각각
음의 형태로 시작 -아니- 경고를 끄려면; 예를 들어, -Wno-암시적.
이 설명서는 두 가지 형식 중 기본값이 아닌 형식 중 하나만 나열합니다.

이 옵션은 GNU Fortran에서 생성되는 오류 및 경고의 양과 종류를 제어합니다.

-fmax-오류=n
최대 오류 메시지 수를 다음으로 제한합니다. n, 그 시점에서 GNU Fortran은 구제 금융
소스 코드를 계속 처리하려고 시도하는 대신. 만약에 n 는 0, 없다
생성된 오류 메시지 수에 대한 제한.

-fsyntax 전용
코드에서 구문 오류를 확인하되 실제로 컴파일하지는 마십시오. 이것은 생성합니다
각 모듈에 대한 모듈 파일은 코드에 있지만 다른 출력 파일은 없습니다.

-페단 틱
Fortran 95에 대한 확장 사용에 대한 경고를 발행합니다. -페단 틱 또한 적용
다음과 같이 GNU Fortran 소스 파일에서 발생하는 C 언어 구성 \e
"#include"와 같은 지시문 내의 문자 상수에서.

유효한 Fortran 95 프로그램은 이 옵션을 사용하거나 사용하지 않고 제대로 컴파일해야 합니다.
그러나 이 옵션이 없으면 특정 GNU 확장 및 기존 포트란 기능이
도 지원됩니다. 이 옵션을 사용하면 대부분이 거부됩니다.

일부 사용자는 사용하려고 -페단 틱 프로그램의 적합성을 확인합니다. 그들은 곧 발견
그들이 원하는 대로 하지 않는다는 것 --- 일부 비표준 관행을 발견하지만,
전부는 아니다. 그러나 이 영역에서 GNU Fortran에 대한 개선은 환영합니다.

이것은 다음과 함께 사용해야 합니다. -std=f95, -std=f2003 or -std=f2008.

- 현학적 오류
처럼 -페단 틱, 경고가 아닌 오류가 생성된다는 점을 제외하고.

-벽
사용과 관련하여 일반적으로 사용되는 경고 옵션을 활성화하여 피하는 것이 좋습니다.
그리고 우리는 피하기 쉽다고 믿습니다. 여기에는 현재 다음이 포함됩니다. -왈리아싱,
-Wampersand, -W변환, -놀라움, -Wc 바인딩 유형, -Wintrinsics-std,
-Wno-탭, -윈트린직 섀도우, -Wline 잘림, -Wtarget-평생, -Wreal-q-상수
- 사용하지 않은.

-왈리아싱
더미 인수의 가능한 별칭에 대해 경고합니다. 특히 동일한 경우 경고합니다.
실제 인수는 "INTENT(IN)"이 있는 더미 인수 및 더미와 연결됩니다.
명시적 인터페이스를 사용한 호출에서 "INTENT(OUT)"가 있는 인수.

다음 예에서는 경고를 트리거합니다.

인터페이스
서브루틴 바(a,b)
정수, 의도(in) :: a
정수, 의도(출력) :: b
서브루틴 종료
끝 인터페이스
정수 :: a

콜 바(a,a)

-Wampersand
연속 문자 상수에서 누락된 앰퍼샌드에 대해 경고합니다. 경고가 주어진다
+ -Wampersand, -페단 틱, -std=f95, -std=f2003-std=f2008. 참고: 없음
연속 문자 상수로 주어진 앰퍼샌드, GNU Fortran은 다음에서 연속을 가정합니다.
시작하는 앰퍼샌드 다음의 첫 번째 주석 및 공백이 아닌 문자
계속.

-워레이-임시
컴파일러에 의해 생성된 임시 배열에 대해 경고합니다. 에 의해 생성된 정보
이 경고는 이러한 일시적인 현상을 피하기 위해 최적화에 유용합니다.

-Wc 바인딩 유형
변수가 C 상호 운용이 불가능한 경우 경고합니다. 특히 다음과 같은 경우 경고합니다.
변수가 다음을 사용하는 대신 기본 종류의 내장 유형을 사용하여 선언되었습니다.
내장 "ISO_C_Binding"에서 C 상호 운용성을 위해 정의된 종류 매개변수
기준 치수. 이 옵션은 -벽.

-문자 잘림
문자 할당이 할당된 문자열을 자를 때 경고합니다.

-Wline 잘림
소스 코드 줄이 잘릴 때 경고합니다. 이 옵션은 -벽. 용
자유 형식 소스 코드, 기본값은 -Werror=줄 잘림 잘림
오류로 보고됩니다.

-W변환
표현식의 값을 변경할 수 있는 암시적 변환에 대해 경고합니다.
변환 후. 에 의해 암시 -벽.

-Wconversion-추가
다른 유형과 종류 간의 암시적 변환에 대해 경고합니다. 이 옵션은
지원 암시하다 -W변환.

-웩스트라
문제가 될 수 있는 언어 기능 사용에 대한 몇 가지 경고 옵션을 활성화합니다.
현재 포함되어 있습니다. - 실제 비교-Wunused-매개변수.

- 암묵적 인터페이스
명시적 인터페이스 없이 프로시저가 호출되면 경고합니다. 이것은 확인만 한다는 점에 유의하십시오.
명시적 인터페이스가 존재합니다. 선언된 인터페이스가
프로그램 단위에서 일관성이 있습니다.

- 암묵적 절차
명시적 인터페이스가 없거나 인터페이스가 없는 프로시저가 호출되면 경고합니다.
"외부"로 선언되었습니다.

-Wintrinsics-std
다음 경우 경고 지포트란 에서 사용할 수 없는 내장과 같은 이름의 프로시저를 찾습니다.
현재 선택된 표준( -표준) 및 "EXTERNAL" 절차로 처리하기 때문에
이의. - 가을의 본질 이 동작을 트리거하지 않고 항상 링크하는 데 사용할 수 있습니다.
선택한 표준에 관계없이 본질적으로.

-Wreal-q-상수
real-literal-constant에 "q" 지수 문자가 포함되어 있으면 경고를 생성합니다.

-놀라움
"의심스러운" 코드 구성이 발견되면 경고를 생성합니다. 하는 동안
기술적으로 합법적인 경우 일반적으로 오류가 발생했음을 나타냅니다.

이것은 현재 다음 상황에서 경고를 생성합니다.

* INTEGER SELECT 구문에는 하위 항목과 일치하지 않는 CASE가 있습니다.
값이 상위 값보다 큽니다.

* LOGICAL SELECT 구문에는 세 개의 CASE 문이 있습니다.

* TRANSFER는 목적지보다 짧은 소스를 지정합니다.

* 함수 결과의 유형이 동일한 유형으로 두 번 이상 선언되었습니다. 만약에
-페단 틱 또는 표준 준수 모드가 활성화되어 있으면 오류입니다.

* "CHARACTER" 변수는 음수 길이로 선언됩니다.

-Wtabs
기본적으로 탭은 공백으로 허용되지만 탭은 Fortran의 구성원이 아닙니다.
문자 집합입니다. 연속 라인의 경우 1과 9 사이의 숫자가 뒤에 오는 탭은 다음과 같습니다.
지원. -Wtabs 탭이 발생하면 경고가 표시됩니다. 메모,
-Wtabs 에 대해 활성 상태입니다. -페단 틱, -std=f95, -std=f2003, -std=f2008, -std=f2008ts
-벽.

-분더플로우
숫자 상수 표현식이 발견되면 경고를 생성합니다.
컴파일 중 UNDERFLOW. 기본적으로 활성화되어 있습니다.

-윈트린직 섀도우
사용자 정의 프로시저 또는 모듈 프로시저의 이름이 동일한 경우 경고
본질적인; 이 경우 명시적 인터페이스 또는 "EXTERNAL" 또는 "INTRINSIC"
나중에 원하는 호출로 확인하려면 선언이 필요할 수 있습니다.
내재적/절차적. 이 옵션은 -벽.

-Wuse-without-only
"USE" 문에 "ONLY" 한정자가 없어 암시적으로 모든 항목을 가져오는 경우 경고합니다.
사용된 모듈의 공개 엔터티.

-Wunused-dummy-argument
사용하지 않는 더미 인수에 대해 경고합니다. 이 옵션은 -벽.

-Wunused-매개변수
반대 GCC의 의미 -Wunused-매개변수, 지포트란의 구현
옵션은 사용하지 않는 더미 인수에 대해 경고하지 않습니다(참조 -Wunused-dummy-argument), 그러나
사용하지 않은 "PARAMETER" 값에 대해 -Wunused-매개변수 에 의해 암시된다 -웩스트라 만약 또한
- 사용하지 않은 or -벽 사용.

-Walign-commons
기본적으로, 지포트란 적절한 변수가 채워지는 경우에 대해 경고합니다.
"COMMON" 블록 내 정렬. 이 경고는 다음을 통해 끌 수 있습니다.
-Wno-align-commons. 또한보십시오 -falign-commons.

-Wfunction 제거
함수에 대한 호출이
-ffrontend 최적화 옵션을 선택합니다.

-Wrealloc-lhs
컴파일러가 할당 또는 재할당을 위해 에 코드를 삽입할 수 있는 경우 경고
고유 할당에서 고유 유형의 할당 가능한 배열 변수입니다. 핫 루프에서,
Fortran 2003 재할당 기능으로 인해 성능이 저하될 수 있습니다. 배열이
이미 올바른 모양으로 할당된 경우 전체 배열 배열 사양 사용을 고려하십시오.
(예: "(:,:,:)") 재할당을 방지하기 위해 왼쪽에 있는 변수
확인하다. 컴파일러가 실행하더라도 경고가 표시되는 경우가 있습니다.
재할당 검사를 최적화하십시오. 예를 들어, 오른쪽에 다음이 포함된 경우
동일한 변수에 스칼라를 곱합니다. 또한보십시오 -frealloc-lhs.

-Wrealloc-lhs-all
컴파일러가 할당 또는 재할당을 위해 에 코드를 삽입할 때 경고합니다.
할당 가능한 변수; 여기에는 스칼라 및 파생 유형이 포함됩니다.

- 실제 비교
같음 또는 부등식에 대해 실수 또는 복소수 유형을 비교할 때 경고합니다. 이 옵션은
에 의해 암시 -웩스트라.

-Wtarget-평생
포인터 할당의 포인터가 대상보다 길면 경고합니다. 이것
옵션은 다음과 같이 암시됩니다. -벽.

-위제로트립
"DO" 루프가 컴파일 시간에 XNUMX번 실행되는 것으로 알려진 경우 경고합니다. 이 옵션은
에 의해 암시 -벽.

-워러
모든 경고를 오류로 바꿉니다.

이들 중 일부는 Fortran으로 작성된 프로그램을 컴파일할 때 효과가 없습니다.

옵션 중 ...에 대한 디버깅 your 프로그램 or GNU 포트란
GNU Fortran에는 프로그램이나 디버깅에 사용되는 다양한 특수 옵션이 있습니다.
GNU 포트란 컴파일러.

-fdump-fortran-original
소스 프로그램을 내부로 변환한 후 내부 파스 트리 출력
대표. GNU Fortran 컴파일러 자체를 디버깅할 때만 정말 유용합니다.

-fdump-fortran 최적화
프런트 엔드 최적화 후 구문 분석 트리를 출력합니다. 디버깅에만 정말 유용합니다.
GNU 포트란 컴파일러 자체.

-fdump-parse-tree
소스 프로그램을 내부로 변환한 후 내부 파스 트리 출력
대표. GNU Fortran 컴파일러 자체를 디버깅할 때만 정말 유용합니다.
이 옵션은 더 이상 사용되지 않습니다. 대신 "-fdump-fortran-original"을 사용하십시오.

-ffpe-트랩=명부
활성화할 부동 소수점 예외 트랩 목록을 지정합니다. 대부분의 시스템에서
부동 소수점 예외가 발생하고 해당 예외에 대한 트랩이 활성화되면 SIGFPE
신호가 전송되고 프로그램이 중단되어 다음 작업에 유용한 코어 파일이 생성됩니다.
디버깅. 명부 다음 항목의 쉼표로 구분된(비어 있을 수 있음) 목록입니다.
예외: 무효의 ("SQRT(-1.0)"와 같은 잘못된 부동 소수점 연산), 제로
(XNUMX으로 나누기), 과다 (부동 소수점 연산의 오버플로), 언더 플로
(부동 소수점 연산에서 언더플로), 정확하지 않은 (정밀도 손실
작업) 및 비정상 (비정규 값에 대해 수행된 작업). 처음 다섯
예외는 754가지 IEEE XNUMX 예외에 해당하는 반면 마지막 예외(비정상)
IEEE 754 표준의 일부는 아니지만 일부 공통 아키텍처에서 사용할 수 있습니다.
x86과 같은.

처음 세 가지 예외(무효의, 제로의 메이크업 시연, 그리고 한국에서 사랑을 담아 보낸 과다) 종종 심각함을 나타냅니다.
오류 및 프로그램에 이러한 예외를 처리하기 위한 조항이 없는 한,
이 세 가지 예외에 대해 트랩을 활성화하는 것이 좋습니다.

대부분은 아니지만 많은 부동 소수점 연산에서 반올림으로 인해 정밀도 손실이 발생합니다.
따라서 "ffpe-trap=inexact"는 실제로는 흥미롭지 않을 수 있습니다.

기본적으로 예외 트랩은 활성화되어 있지 않습니다.

-ffpe-요약=명부
플래그 상태가 다음으로 인쇄되는 부동 소수점 예외 목록을 지정하십시오.
"STOP" 및 "ERROR STOP"을 호출할 때 "ERROR_UNIT". 명부 둘 중 하나 일 수 있습니다 없음, 모든 또는
쉼표로 구분된 다음 예외 목록: 무효의, 제로, 과다, 언더 플로,
정확하지 않은비정상. (만나다 -ffpe 트랩 예외에 대한 설명을 참조하십시오.)

기본적으로 모든 예외에 대한 요약은 정확하지 않은 표시됩니다.

-fno-역추적
심각한 런타임 오류가 발생하거나 치명적인 신호가 방출되는 경우
(세그먼트 오류, 잘못된 명령, 버스 오류, 부동 소수점 예외 및
액션이 있는 다른 POSIX 신호 핵심), Fortran 런타임 라이브러리는
오류의 역추적을 출력합니다. "-fno-backtrace"는 역추적 생성을 비활성화합니다.
이 옵션은 Fortran 메인 프로그램의 컴파일에만 영향을 미칩니다.

옵션 중 ...에 대한 예배 규칙서 수색
이 옵션은 GNU Fortran이 "INCLUDE"로 지정된 파일을 검색하는 방법에 영향을 줍니다.
지시문 및 이전에 컴파일된 모듈을 검색하는 위치.

또한 다음에서 사용하는 검색 경로에도 영향을 줍니다. CPP Fortran 소스를 사전 처리하는 데 사용됩니다.

-IDIR
이는 "INCLUDE" 지시문(및 "#include"
의 지시 CPP 전처리기).

또한 의 일반적인 동작에 유의하십시오. -I "INCLUDE"는 다음과 거의 동일합니다.
-I "#include"와 함께 CPP 전처리기, 찾는 것과 관련하여 header.gcc
파일 및 기타 그러한 것들.

이 경로는 검색하는 데에도 사용됩니다. .mod 이전에 컴파일된 모듈이
"USE" 문에서 필요합니다.

-JDIR
이 옵션은 넣을 위치를 지정합니다 .mod 컴파일된 모듈에 대한 파일. 또한 추가됩니다
"USE" 문으로 검색할 디렉토리 목록으로 이동합니다.

기본값은 현재 디렉토리입니다.

-fintrinsic-modules-path DIR
이 옵션은 미리 컴파일된 내장 모듈의 위치를 ​​지정합니다.
컴파일러에서 예상하는 기본 위치에 있습니다.

영향력 전에, 연결 단계
이러한 옵션은 컴파일러가 개체 파일을 실행 파일에 연결할 때 작동합니다.
결과물 파일. 컴파일러가 링크 단계를 수행하지 않으면 의미가 없습니다.

-정적-libgfortran
제공하는 시스템에서 libgfortran 공유 및 정적 라이브러리로서 이 옵션은
정적 버전을 강제로 사용합니다. 공유 버전이 없는 경우 libgfortran 지어졌다
컴파일러가 구성된 경우 이 옵션은 효과가 없습니다.

영향력 런타임 행동
이 옵션은 GNU Fortran으로 컴파일된 프로그램의 런타임 동작에 영향을 줍니다.

-f변환=변환
형식이 지정되지 않은 파일에 대한 데이터 표현을 지정합니다. 유효한 변환 값
위치 : 출신, 기본값; 교환, 빅 엔디안과 리틀 엔디안 사이를 교환합니다. 빅 엔디안사용
포맷되지 않은 파일에 대한 빅엔디안 표현; 리틀 엔디안, 리틀 엔디안 사용
포맷되지 않은 파일에 대한 표현.

선택권 an 효과 언제 익숙한 in 전에, 본관 프로그램) 그리고, "변하게 하다" 지정자
전에, GFORTRAN_CONVERT_UNIT 환경 변수 보수 전에, 디폴트 값 지정 by
-f변환.

-frecord-마커=길이
포맷되지 않은 파일에 대한 레코드 마커의 길이를 지정합니다. 유효한 값 길이
4와 8입니다. 기본값은 4입니다. is 다른 너무 이른 버전 of 지포트란,
대부분의 시스템에서 기본 레코드 마커 길이를 8로 지정했습니다. 원하는 경우
의 이전 버전과 호환되는 파일 읽기 또는 쓰기 지포트란사용
-frecord-marker=8.

-fmax-하위 레코드 길이=길이
하위 레코드의 최대 길이를 지정합니다. 길이에 대해 허용되는 최대 값은 다음과 같습니다.
기본값이기도 한 2147483639입니다. gfortran에서 사용할 때만 정말 유용합니다.
테스트 스위트.

-fsign-XNUMX
활성화되면 부호 비트가 설정된 값이 XNUMX인 부동 소수점 숫자가 기록됩니다.
형식화된 출력에서 ​​음수로 "SIGN"에서 음수로 처리됨
본질적인. -fno-sign-XNUMX XNUMX 값(또는 값의 음수 부호를 인쇄하지 않음
I/O의 경우 XNUMX으로 반올림됨) 및 "SIGN" 내장에서 XNUMX을 양수로 간주합니다.
Fortran 77과의 호환성을 위해. 기본값은 -fsign-XNUMX.

옵션 중 ...에 대한 암호 세대 규칙
이러한 기계 독립적인 옵션은 코드에서 사용되는 인터페이스 규칙을 제어합니다.
세대.

그들 대부분은 긍정적인 형태와 부정적인 형태를 모두 가지고 있습니다. 의 부정적인 형태 - 푸푸
-fno-foo. 아래 표에는 양식 중 하나만 나열되어 있습니다.
기본. 다음 중 하나를 제거하여 다른 형식을 파악할 수 있습니다. 아니 - 또는 추가합니다.

-fno-자동
각 프로그램 단위(RECURSIVE로 표시된 단위 제외)를 "SAVE" 문처럼 취급합니다.
모든 지역 변수와 그 안에 참조된 배열에 대해 지정되었습니다. 영향을 미치지 않는다
일반적인 블록. (일부 포트란 컴파일러는 이름 아래에 이 옵션을 제공합니다. -공전 or
-저장.) 기본값은 -f자동, 더 작은 지역 변수에 스택을 사용합니다.
에 의해 주어진 값보다 -fmax-stack-var-size. 옵션을 사용 - 재귀 사용하지
정적 메모리.

-ff2c
에 의해 생성된 코드와 호환되도록 설계된 코드 생성 g77f2c.

에서 사용하는 호출 규칙 g77 (원래 구현된 f2c) 기능 필요
그 반환 유형 기본 "REAL"은 실제로 C 유형 "더블"을 반환하고 함수는
호출에서 추가 인수를 통해 값을 반환하는 반환 유형 "COMPLEX"
반환 값을 저장할 위치를 가리키는 시퀀스입니다. 기본 GNU에서
호출 규칙, 이러한 함수는 단순히 GNU에서와 같이 결과를 반환합니다.
C---기본 "REAL" 함수는 C 유형 "float"를 반환하고 "COMPLEX" 함수는 반환합니다.
GNU C 유형 "복잡한". 또한 이 옵션은 다음을 의미합니다. -fsecond-밑줄
옵션이 아닌 경우 -fno-second-밑줄 명시적으로 요청됩니다.

이것은 다음과 인터페이스하는 코드 생성에 영향을 미치지 않습니다. libgfortran
도서관.

주의: 다음과 같이 컴파일된 Fortran 코드를 혼합하는 것은 좋은 생각이 아닙니다. -ff2c 코드로
기본값으로 컴파일 -fno-f2c 호출 규칙, "COMPLEX" 호출 또는
다른 프로그램으로 컴파일된 프로그램 부분 간의 기본 "REAL" 기능
호출 규칙은 실행 시 중단됩니다.

주의: 이렇게 하면 기본 "REAL" 유형의 내장 함수를 전달하는 코드가 중단됩니다.
라이브러리 구현이 사용하므로 실제 인수로 "COMPLEX" 또는 "COMPLEX" -fno-f2c
호출 규칙.

-fno-밑줄
다음을 추가하여 Fortran 소스 파일에 지정된 엔티티의 이름을 변환하지 마십시오.
그들에게 밑줄을 긋습니다.

-펀딩 사실상 GNU Fortran은 외부 이름에 하나의 밑줄을 추가합니다.
밑줄 없이. 이것은 많은 사람들이 생성한 코드와의 호환성을 보장하기 위해 수행됩니다.
UNIX 포트란 컴파일러.

주의: GNU Fortran의 기본 동작은 다음과 호환되지 않습니다. f2cg77, 제발
사용 -ff2c GNU Fortran으로 컴파일된 개체 파일을 원하는 경우 옵션
이러한 도구로 만든 개체 코드와 호환됩니다.

사용 -fno-밑줄 문제를 실험하지 않는 한 권장하지 않습니다.
GNU Fortran을 기존 시스템 환경에 통합하는 것과 같은(vis-a-vis
기존 라이브러리, 도구 등).

예를 들어 -펀딩, "j()" 및 "max_count()"가
"my_var" 및 "lvar"가 지역 변수인 동안 외부 함수는 다음과 같은 명령문입니다.

I = J() + MAX_COUNT(MY_VAR, LVAR)

다음과 유사한 것으로 구현됩니다.

i = j_() + max_count__(&my_var__, &lvar);

-fno-밑줄, 동일한 명령문이 다음과 같이 구현됩니다.

i = j() + max_count(&my_var, &lvar);

사용 -fno-밑줄 사용자 정의 이름을 직접 지정할 수 있는 반면
디버깅 및 GNU Fortran 코드를 다른 언어와 인터페이스할 때.

이름이 일치하기 때문에 지원 에 의해 구현된 인터페이스를 의미합니다.
외부 이름에 대한 GNU Fortran은 다른 일부에서 구현한 인터페이스와 일치합니다.
같은 이름의 언어. 즉, GNU Fortran에서 생성한 코드를 다음 링크로 가져오는 것입니다.
이 방법이나 다른 방법을 사용하여 다른 컴파일러에서 생성한 코드는
전체 솔루션의 작은 부분 ---두 컴파일러에서 생성된 코드를
이름 지정 이외의 문제에 동의하면 상당한 노력이 필요할 수 있으며 이름 지정과 달리
불일치, 링커는 일반적으로 이러한 다른 영역에서 불일치를 감지할 수 없습니다.

또한, -fno-밑줄, 추가된 밑줄이 없으면
사용자 정의 외부 이름이 이름과 충돌할 가능성이 매우 높음
시스템 라이브러리에서 해결되지 않은 참조 버그를 상당히 찾을 수 있습니다.
어떤 경우에는 어렵습니다---프로그램 실행 시간에 발생할 수 있으며 다음과 같이 표시됩니다.
런타임에 버그가 있는 동작.

GNU Fortran의 향후 버전에서는 이름 지정 및 연결 문제를 개선하여
디버깅에는 항상 소스에 나타나는 이름을 사용하는 것이 포함됩니다.
링커에서 볼 수 있는 이름은 실수로
호환되지 않는 인터페이스가 있는 절차

-fsecond-밑줄
기본적으로 GNU Fortran은 외부 이름에 밑줄을 추가합니다. 이 옵션이
사용된 GNU Fortran은 밑줄과 하나의 밑줄이 있는 이름에 두 개의 밑줄을 추가합니다.
밑줄 없이 외부 이름으로. GNU Fortran은 또한 두 개의 밑줄을 추가합니다.
외부 이름과의 이름 충돌을 피하기 위해 밑줄이 있는 내부 이름.

이 옵션은 다음과 같은 경우 효과가 없습니다. -fno-밑줄 유효합니다. 에 의해 암시됩니다.
-ff2c 옵션을 선택합니다.

그렇지 않으면 이 옵션을 사용하면 "MAX_COUNT"와 같은 외부 이름이
"max_count_" 대신 링크 시간 외부 기호 "max_count__"에 대한 참조입니다.
다음과의 호환성을 위해 필요합니다. g77f2c, 그리고 다음을 사용하여 암시됩니다.
-ff2c 옵션을 선택합니다.

-fcoarray=
없음
coarray 지원을 비활성화합니다. coarray 선언 및 이미지 제어 문 사용
컴파일 타임 오류가 발생합니다. (기본)

단일
단일 이미지 모드, 즉 "num_images()"는 항상 XNUMX입니다.

lib 라이브러리 기반 coarray 병렬화; 적합한 GNU 포트란 coarray 라이브러리
연결해야 합니다.

-fcheck=
런타임 검사 생성을 활성화합니다. 인수는 쉼표로 구분된 목록이어야 합니다.
다음 키워드 중.

모든 모든 런타임 테스트 활성화 -fcheck.

어레이 임시 직원
실제 인수를 전달하기 위해 임시 배열이 다음과 같아야 하는 경우 런타임에 경고합니다.
생성. 이 경고에 의해 생성된 정보는 때때로 다음에서 유용합니다.
이러한 일시적인 현상을 방지하기 위해 최적화합니다.

참고: 경고는 위치당 한 번만 인쇄됩니다.

범위
배열 첨자와 선언된 첨자에 대한 런타임 검사 생성 활성화
최소값과 최대값. 또한 가정 및 지연에 대한 배열 인덱스를 확인합니다.
실제 할당된 범위에 대해 배열을 형성하고 모든 문자열이
명시적 typespec이 없는 문자 배열 생성자의 길이는 동일합니다.

일부 검사는 다음을 요구합니다. -fcheck=경계 메인 컴파일을 위해 설정됩니다.
프로그램)

참고: 앞으로 여기에는 다른 형식의 확인(예: 확인)도 포함될 수 있습니다.
하위 문자열 참조.

do 루프 반복의 잘못된 수정에 대한 런타임 검사 생성 활성화
변수.

(MEM) 메모리 할당에 대한 런타임 검사 생성을 활성화합니다. 참고: 이 옵션은
"ALLOCATE" 문을 사용하는 명시적 할당에는 영향을 미치지 않습니다.
항상 확인했습니다.

포인터
포인터 및 할당 가능 항목에 대한 런타임 검사 생성을 활성화합니다.

재귀
재귀적으로 호출된 서브루틴에 대한 런타임 검사 생성을 활성화하고
재귀로 표시되지 않은 함수. 또한보십시오 - 재귀. 참고: 이
체크는 OpenMP 프로그램에서 작동하지 않으며 함께 사용하는 경우 비활성화됩니다.
- 재귀-fopenmp.

-fbounds-check
더 이상 사용되지 않는 별칭 -fcheck=경계.

-fcheck-array-temporaries
더 이상 사용되지 않는 별칭 -fcheck=배열 임시 직원.

-fmax-배열 생성자=n
이 옵션은 배열 생성자에서 허용되는 상한을 늘리는 데 사용할 수 있습니다.
아래 코드에서는 컴파일 타임에 배열을 확장하려면 이 옵션이 필요합니다.

프로그램 테스트
암시적 없음
정수 j
정수, 매개변수 :: n = 100000
정수, 매개변수 :: i(n) = (/ (2*j, j = 1, n) /)
인쇄 '(10(I0,1X))', i
프로그램 테스트 종료

주의: 선택권 리드 편집하다 시대 지나치게 넓은 대상
파일.

의 기본값 n 65535입니다.

-fmax-stack-var-size=n
이 옵션은 배열에 넣을 가장 큰 배열의 크기를 바이트 단위로 지정합니다.
스택; 크기가 초과되면 정적 메모리가 사용됩니다(로 표시된 절차는 제외
재귀). 옵션을 사용 - 재귀 하지 않는 재귀적 절차를 허용하기 위해
RECURSIVE 속성이 있거나 병렬 프로그램용입니다. 사용하다 -fno-자동 절대 사용하지 않는다
스택.

이 옵션은 현재 상수 범위로 선언된 로컬 배열에만 영향을 미치며
모든 문자 변수에 적용되지는 않습니다. GNU Fortran의 향후 버전은 이를 개선할 수 있습니다.
행동.

의 기본값 n 32768입니다.

-fstack-배열
이 옵션을 추가하면 Fortran 컴파일러가 모든 로컬 배열을 넣게 됩니다.
스택 메모리에 알 수 없는 크기가 있습니다. 프로그램이 매우 큰 로컬 배열을 사용하는 경우
일부에서는 스택 메모리에 대한 런타임 제한을 확장해야 할 수도 있습니다.
운영체제. 이 플래그는 최적화 수준에서 기본적으로 활성화됩니다. -오파스트.

-fpack 파생
이 옵션은 GNU Fortran이 파생된 유형 멤버를 가능한 한 가깝게 묶도록 지시합니다.
이 옵션으로 컴파일된 코드는 다음 없이 컴파일된 코드와 호환되지 않을 수 있습니다.
이 옵션을 사용하면 실행 속도가 느려질 수 있습니다.

-frepack-배열
경우에 따라 GNU Fortran은 다음을 통해 가정된 모양 배열 섹션을 전달할 수 있습니다.
비연속적인 메모리 영역을 설명하는 설명자. 이 옵션은 코드를
런타임에 데이터를 연속 블록으로 다시 압축하는 함수 프롤로그.

그러면 어레이에 더 빠르게 액세스할 수 있습니다. 그러나 그것은 소개 할 수 있습니다
특히 전달된 데이터가 다음과 같을 때 함수 호출에 대한 상당한 오버헤드
불연속.

-fshort-enums
이 옵션은 다음으로 컴파일된 C 코드와의 상호 운용성을 위해 제공됩니다.
-fshort-enums 옵션. GNU Fortran이 가장 작은 "INTEGER" 종류를 선택하게 합니다.
주어진 열거자 세트가 적합하고 모든 열거자에 이런 종류를 제공합니다.

-fexternal-blas
이 옵션은 지포트란 일부 행렬에 대한 BLAS 함수 호출 생성
자체 알고리즘을 사용하는 대신 "MATMUL"과 같은 작업
관련된 행렬이 주어진 한계보다 큽니다(참조 -fblas-matmul-limit). 이것은 수 있습니다
최적화된 공급업체 BLAS 라이브러리를 사용할 수 있는 경우 수익성이 있습니다. BLAS 라이브러리는
링크 시간에 지정해야 합니다.

-fblas-matmul-limit=n
중요한 경우에만 -fexternal-blas 유효합니다. 행렬의 행렬 곱셈
보다 크거나 같은 크기로 n BLAS 함수 호출에 의해 수행되며,
다른 사람들이 처리하는 동안 지포트란 내부 알고리즘. 행렬이 관련된 경우
정사각형이 아닌 경우 기하 평균을 사용하여 크기 비교를 수행합니다.
인수 및 결과 행렬의 차원.

의 기본값 n 30입니다.

- 재귀
모든 로컬 배열을 스택에 강제로 할당하여 간접 재귀를 허용합니다.
이 플래그는 다음과 함께 사용할 수 없습니다. -fmax-stack-var-size= or -fno-자동.

-finit-local-zero
- 유한 정수 =n
-finit-real=
- 유한 논리 =
-한정 문자=n
그리고, -finit-local-zero 옵션은 컴파일러가 로컬 "INTEGER"를 초기화하도록 지시합니다.
"REAL" 및 "COMPLEX" 변수는 XNUMX, "LOGICAL" 변수는 false, "CHARACTER"
널 바이트 문자열에 대한 변수. 더 세분화된 초기화 옵션은
제공 한 - 유한 정수 =n, -finit-real= (또한
로컬 "COMPLEX" 변수의 실수부와 허수부를 초기화합니다.
- 유한 논리 =의 메이크업 시연, 그리고 한국에서 사랑을 담아 보낸 -한정 문자=n (어디에 n ASCII 문자입니다
값) 옵션. 이러한 옵션은 초기화되지 않습니다.

* 할당 가능한 배열

* 파생형 변수의 구성요소

* "EQUIVALENCE" 문에 나타나는 변수.

(이러한 제한 사항은 향후 릴리스에서 제거될 수 있습니다.)

참고로 -finit-real=nan 옵션은 "REAL" 및 "COMPLEX" 변수를
조용한 나. 시그널링 NaN의 경우 -finit-real=snan; 그러나 컴파일 시간
최적화는 이를 조용한 NaN으로 변환할 수 있으며 트래핑을 활성화해야 합니다.
(예를 통해 -ffpe 트랩).

마지막으로 -한정-* 옵션은 다음과 같은 경고를 무음으로 만듭니다.
에 의해 방출되었을 것입니다. -초기화되지 않음 영향을 받는 지역 변수에 대해

-falign-commons
기본적으로, 지포트란 "COMMON" 블록에 있는 모든 변수의 적절한 정렬을 다음과 같이 시행합니다.
필요에 따라 패딩합니다. 특정 플랫폼에서는 필수이며 다른 플랫폼에서는 증가합니다.
성능. "COMMON" 블록이 일관된 데이터 유형으로 선언되지 않은 경우
모든 곳에서 이 패딩은 문제를 일으킬 수 있으며, -fno-align-commons 를 사용할 수 있습니다
자동 정렬을 비활성화합니다. 모든 파일에 동일한 형식의 이 옵션을 사용해야 합니다.
"COMMON" 블록을 공유합니다. "COMMON" 블록에서 잠재적인 정렬 문제를 방지하려면
가장 큰 것부터 작은 것 순으로 물건을 주문하는 것이 좋습니다.

-fno 보호 괄호
기본적으로 식의 괄호는 다음과 같은 모든 최적화 수준에 적용됩니다.
컴파일러는 재연결을 수행하지 않습니다. 사용 -fno 보호 괄호
컴파일러는 "REAL" 및 "COMPLEX" 표현식을 재정렬하여 더 빠른 코드를 생성합니다. 참고
재연관 최적화를 위해 -fno 부호 있는 XNUMX-fno 트래핑 수학 필요
유효하다. 괄호 보호는 기본적으로 활성화되어 있습니다. -오파스트 is
주어진.

-frealloc-lhs
고유 할당의 할당 가능한 왼쪽은 자동으로
할당되지 않았거나 모양이 다른 경우 (재)할당됩니다. 옵션은
다음 경우를 제외하고 기본적으로 활성화됨 -std=f95 주어진다. 또한보십시오 -Wrealloc-lhs.

-공격적 기능 제거
동일한 인수 목록을 가진 함수는 관계 없이 명령문 내에서 제거됩니다.
이러한 기능이 "PURE"로 표시되었는지 여부. 예를 들어,

a = f(b,c) + f(b,c)

"f"에 대한 호출은 한 번만 있을 것입니다. 이 옵션은 다음 경우에만 작동합니다.
-ffrontend 최적화 유효합니다.

-ffrontend 최적화
이 옵션은 Fortran의 부품 조작을 기반으로 프런트 엔드 최적화를 수행합니다.
파스 트리. 기본적으로 활성화됨 -O 옵션. 이에 의해 활성화된 최적화
옵션에는 표현식 내에서 동일한 함수 호출 제거, 제거 포함
비교 및 할당에서 "TRIM"에 대한 불필요한 호출 및 TRIM(a)를 다음으로 대체
"a(1:LEN_TRIM(a))". 지정하여 선택 해제할 수 있습니다. -fno-frontend-최적화.

환경


그리고, 지포트란 컴파일러는 현재 환경 변수를 사용하여 제어하지 않습니다.
작동에 영향을 미치는 것 이상으로 작동 GCC.

onworks.net 서비스를 사용하여 온라인으로 mips64el-linux-gnuabi64-gfortran 사용


Ad


Ad

최신 Linux 및 Windows 온라인 프로그램