포틀랜드 그룹 FORTRAN 90 컴파일러와 관련된 매우 이상한 문제가 있습니다. 이 배열 오버플로에 대해에 의존하여 올바르게 작동하도록 코드를 실행하려고합니다. 이 코드를 작성하지 않았습니다! 작성자는 "-tp = piii"플래그를 사용하여 컴파일러에서 컴파일러가 배열 오버플로를 무효로하는 최적화를 수행하지 못하도록 컴파일해야했습니다. 나는 오래된 P3 용으로 작성된 컴파일러가 이런 종류의 일을하기에는 너무 원시적이라는 생각을했다고 생각합니다. 이제 동일한 작업을 시도 할 때 "pgf90-Fatal --tp piii는이 설치에서 지원되지 않습니다."라는 메시지가 나타납니다. 그래서 나는 똑같은 일을 할 수 없다.배열 오버플로를 강제로 수행 할 수 있습니까?
So : pgf90은 기본 동작에서 코드에 필요한 일종의 배열 오버플로를 없앨 수 있습니까? 내가 함께 일하는 사람들이 분명히 그렇게 생각한다고. 그리고, 만약 그렇다면, "-p = piii"플래그로부터 필요한 것을 얻기 위해 사용할 수있는 다른 플래그가있을 수 있습니까?
당신이 이런 질문을하게 될 줄은 몰랐습니다. 어떻게 생각하니 나는 느낌. 그리고 네, 저에게 보관하도록 설득하는대로 곧 다시 쓰게 될 것입니다.
의심의 여지가 없으므로 '배열 오버플로'는 무엇을 의미합니까? 선언 된 경계 밖의 요소를 주소 지정 하시겠습니까? 사용 가능한 힙 또는 스택을 초과하는 공간을 할당 하시겠습니까? –
예, 선언 된 범위 밖에있는 요소를 주소 지정합니다. –