2012-10-06 5 views
2

최대 줄 수를 72 문자로 컴파일 한 일부 fortran 소스 코드와 함께 cpp를 사용하고 있습니다. __FILE__은 잘 작동하지만 때때로 긴 문자열로 확장되어 cpp의 출력이 72 자보다 긴 행을 가지게됩니다. __FILE__을 잘라내는 데 사용할 수있는 사전 처리기 마법이 있습니까? (고정 된 크기 나 기본 이름을 얻으려고합니다.)cpp (선행 처리기)의 문자열을 자릅니다.

답변

3

Fortran 소스 코드가 72 문자보다 길어 지도록 컴파일해야하는 이유는 무엇입니까? 대부분의 컴파일러에는 gfortran에 대해 -ffixed-line-length-none과 같은 옵션이 있습니다. 72 세 이전의 열이 주석으로 사용되지 않는 이상 문제가되어서는 안됩니다. 원래 열 73 ~ 80은 펀치 된 카드를 분류하는 데 사용되었습니다. 필요한 경우 73을 지나서 문자를 제거하는 프로그램을 사용하여 현재 코드를 수정하십시오.

+1

흠,하지만 결국 132 자 제한이 적용될 수 있습니까? CoCo는 줄 바꿈을 할 것이지만 __FILE__과 같은 것이 없다고 생각합니다. – haraldkl

+1

132 제한은 Fortran> = 90의 자유 형식 레이아웃에 적용됩니다. 문제는 줄 길이가 72라고 언급했기 때문에 FORTRAN 77의 고정 양식 레이아웃이 사용되고 있다고 가정합니다. 이 레이아웃에서 gfortran 옵션 -ffixed-line-length-none은 "전체 줄이 의미가있다"는 것을 의미합니다. ifort의 "-extend-source"는 132 개의 열로 만 이동하므로 컴파일러에 따라 문제가 될 수 있습니다. –

0

stanadards에 따르면 C/C++ 전 처리기에는 문자열 잘림을 허용하는 기능이 없습니다.

내 2 센트.

관련 문제