최대 줄 수를 72 문자로 컴파일 한 일부 fortran 소스 코드와 함께 cpp를 사용하고 있습니다. __FILE__
은 잘 작동하지만 때때로 긴 문자열로 확장되어 cpp의 출력이 72 자보다 긴 행을 가지게됩니다. __FILE__
을 잘라내는 데 사용할 수있는 사전 처리기 마법이 있습니까? (고정 된 크기 나 기본 이름을 얻으려고합니다.)cpp (선행 처리기)의 문자열을 자릅니다.
2
A
답변
3
Fortran 소스 코드가 72 문자보다 길어 지도록 컴파일해야하는 이유는 무엇입니까? 대부분의 컴파일러에는 gfortran에 대해 -ffixed-line-length-none과 같은 옵션이 있습니다. 72 세 이전의 열이 주석으로 사용되지 않는 이상 문제가되어서는 안됩니다. 원래 열 73 ~ 80은 펀치 된 카드를 분류하는 데 사용되었습니다. 필요한 경우 73을 지나서 문자를 제거하는 프로그램을 사용하여 현재 코드를 수정하십시오.
0
stanadards에 따르면 C/C++ 전 처리기에는 문자열 잘림을 허용하는 기능이 없습니다.
내 2 센트.
관련 문제
- 1. 문자열을 자릅니다.
- 2. 문자열을 처음부터 부분 문자열로 자릅니다. #
- 3. UIActionSheet는 긴 문자열을 자릅니다! 대안?
- 4. HTML 태그가 포함 된 문자열을 자릅니다.
- 5. jruby는 줄임표로 길이를 기준으로 문자열을 자릅니다.
- 6. @ 부분의 전자 메일 텍스트 문자열을 Excel에서 자릅니다.
- 7. .NET에서 전체 단어의 문자열을 자릅니다. C#
- 8. SQL Server 2005는 큰 따옴표로 문자열을 자릅니다.
- 9. IE8은 json 문자열을 1986 자로 자릅니다.
- 10. UITextField에서 왼쪽의 텍스트를 자릅니다.
- 11. 비 욕심 선행 제어
- 12. 처리기의 사용 안드로이드
- 13. ASP.net 처리기의 오용 방지
- 14. ASHX 처리기의 .ascx 페이지에서
- 15. 사용자 정의 처리기의 registerClientScriptBlock?
- 16. 스레드와 처리기의 차이점
- 17. 안드로이드 SlidingDrawer 처리기의 이미지
- 18. gcc 전 처리기의 버그입니까?
- 19. 인터럽트 처리기의 컨텍스트 스위치
- 20. struts2 형식 문자열을 쉼표없이 숫자로 후행 0을 자릅니다.
- 21. php - 왜이 정규식 내 문자열을 제로 길이를 자릅니다?
- 22. yaml-cpp 파싱 문자열
- 23. 선행 공백 문자로 문자열을 구분하는 좋은 문자는 무엇입니까?
- 24. Javascript Regex가 선행 및 사후 문자와 일치하는 문자열을 확인합니다.
- 25. 선행 공백을 제거하는 기능이 호출자의 문자열을 변경하지 않습니까?
- 26. JSON 문자열을 인코딩 할 때 선행 0이 나타나는 이유는 무엇입니까?
- 27. 다른 .cpp 파일의 본문에서 .cpp 파일 컴파일
- 28. zsh make **/*. cpp **/*. cpp ** 오류가 발생하지 않습니다.
- 29. ashx 처리기의 코드에 SSL 적용
- 30. 스레드 내부에서 처리기의 동작이 다른가요?
흠,하지만 결국 132 자 제한이 적용될 수 있습니까? CoCo는 줄 바꿈을 할 것이지만 __FILE__과 같은 것이 없다고 생각합니다. – haraldkl
132 제한은 Fortran> = 90의 자유 형식 레이아웃에 적용됩니다. 문제는 줄 길이가 72라고 언급했기 때문에 FORTRAN 77의 고정 양식 레이아웃이 사용되고 있다고 가정합니다. 이 레이아웃에서 gfortran 옵션 -ffixed-line-length-none은 "전체 줄이 의미가있다"는 것을 의미합니다. ifort의 "-extend-source"는 132 개의 열로 만 이동하므로 컴파일러에 따라 문제가 될 수 있습니다. –