본문 바로가기
📚 STUDY/🔥 C

Q&A (lint에 관하여)

by 엄지잉 2024. 8. 21.

📌 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

 

lint 명령

용도 C 및 C++ 언어 프로그램에 문제점이 있는지 검사합니다. 구문 lint [ -a ] [ -b ] [ -c ] [ -C ] [ -h ] [ -lKey ] [ -n ] [ -oLibrary ] [ -qDBCS ] [ -p ] [ -t ] [ -u ] [ -v ] [ -w Class [Class ... ] ] [ -x ] [ -MA ] [ -NdNumber ] [ -N

www.ibm.com

 

 

💡 본 내용은 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