📌 lint의 역할이 무엇인가요?
- C 프로그램이 발생할 가능성이 높은 에러들이 있는지 확인함.
(주로 이상한 자료형들의 집합, 사용되지 않은 변수들, 접근 불간으한 코드, 확장/포팅 되지 않는 코드)
- 진단서처럼 프로그래머들이 확인해야 할 리스트를 뽑아냄.
- 장점 : 컴파일러가 찾아내지 못하는 에러들을 찾아낼 수 있음.
📌 lint 어떻게 다운 받을 수 있나요?
- UNIX 표준 도구로, UNIX OS가 아니라면 없음.
- lint 업그레이드 버전인 splint(Secure Programming Lint) 또한 존재하는데, 이는 대부분 리눅스OS에서 제공될 것이고 www.splint.org 에서 다운받을 수 있음.
📌 lint를 사용하지 않고, 컴파일러가 좀 더 철저하게 일을 하게 강제할 순 없나요?
- 존재함. 대부분의 컴파일러는 프로그램을 좀 더 철저하게 확인하는 기능이 있음.
(코드가 문법에 알맞은지는 물론, 경고문까지 출력해 문제가 발생할 수 있는 지점을 가르쳐줌)
(본인이 사용하는 컴파일러가 이런 경고 레벨을 사용한다면, 제일 높은 레벨을 선택해 사용하는 것이 좋음.)
(GCC 컴파일러에서 에러를 확인하는 옵션은 2단원의 Q&A에서 다루도록 함)
📌 프로그램을 최대한 안정적으로 만들고 싶은데, lint나 디버거 말고 또 추가로 할 수 있는 도구가 없을까요?
- 존재함. 대표적으로 "바운즈 체커bounds-checker"와 "릭 파인더leak-finder"가 있음.
- C는 굳이 배열 첨자를 확인하라고 하지 않는데, 바운즈 체커는 이를 확인해줌.
- 릭 파인더는 메모리 누수를 찾아줌.
추가적으로, 링크를 달아놓겠습니다.
https://www.ibm.com/docs/ko/aix/7.2?topic=l-lint-command
💡 본 내용은 K.N.King의 C Programming: A Modern Approach 책을 참고하였습니다.
'📚 STUDY > 🔥 C' 카테고리의 다른 글
[2-3] 주석 (0) | 2024.08.22 |
---|---|
[2-2] 간단한 프로그램의 일반적인 구조 (0) | 2024.08.22 |
[2-1] 간단한 프로그램 짜기 (0) | 2024.08.22 |
[1-2] 장점과 단점 (2) | 2024.08.21 |
[1-1] C의 역사 (2) | 2024.08.21 |