cppcheck.md 1.3 KB

cppcheck

C/C++ ์ฝ”๋“œ๋ฅผ ์œ„ํ•œ ์ •์  ๋ถ„์„ ๋„๊ตฌ. ๊ตฌ๋ฌธ ์˜ค๋ฅ˜ ๋Œ€์‹  ์ปดํŒŒ์ผ๋Ÿฌ๊ฐ€ ์ผ๋ฐ˜์ ์œผ๋กœ ๊ฐ์ง€ํ•˜์ง€ ๋ชปํ•˜๋Š” ๋ฒ„๊ทธ ์œ ํ˜•์— ์ค‘์ ์„ ๋‘ . ๋” ๋งŽ์€ ์ •๋ณด: https://cppcheck.sourceforge.net.

  • ํ™”๋ฉด์— ์ง„ํ–‰๋ฅ ์„ ํ‘œ์‹œํ•˜๊ณ  ์˜ค๋ฅ˜ ๋ฉ”์‹œ์ง€๋ฅผ ํŒŒ์ผ์— ๋กœ๊น…ํ•˜์—ฌ ํ˜„์žฌ ๋””๋ ‰ํ† ๋ฆฌ๋ฅผ ๋ฐ˜๋ณต์ ์œผ๋กœ ํ™•์ธ:

cppcheck . 2> cppcheck.log

  • ์ฃผ์–ด์ง„ ๋””๋ ‰ํ† ๋ฆฌ๋ฅผ ์žฌ๊ท€์ ์œผ๋กœ ํ™•์ธํ•˜๊ณ , ์ง„ํ–‰ ๋ฉ”์‹œ์ง€๋ฅผ ์ถœ๋ ฅํ•˜์ง€ ์•Š์Œ:

cppcheck --quiet {{๋””๋ ‰ํ† ๋ฆฌ/์˜/๊ฒฝ๋กœ}}

  • ์ˆ˜ํ–‰ ํ•  ํ…Œ์ŠคํŠธ๋ฅผ ์ง€์ •ํ•˜์—ฌ ์ฃผ์–ด์ง„ ํŒŒ์ผ์„ ํ™•์ธ(๊ธฐ๋ณธ์ ์œผ๋กœ ์˜ค๋ฅ˜๋งŒ ํ‘œ์‹œ๋จ):

cppcheck --enable {{error|warning|style|performance|portability|information|all}} {{file.cpp/์˜/๊ฒฝ๋กœ}}

  • ์‚ฌ์šฉ ๊ฐ€๋Šฅํ•œ ํ…Œ์ŠคํŠธ ๋ชฉ๋ก:

cppcheck --errorlist

  • ํŠน์ • ํ…Œ์ŠคํŠธ๋ฅผ ๋ฌด์‹œํ•˜๊ณ  ์ฃผ์–ด์ง„ ํŒŒ์ผ์„ ํ™•์ธ:

cppcheck --suppress {{test_id1}} --suppress {{test_id2}} {{file.cpp/์˜/๊ฒฝ๋กœ}}

  • ํ˜„์žฌ ๋””๋ ‰ํ† ๋ฆฌ๋ฅผ ํ™•์ธํ•˜์—ฌ ์™ธ๋ถ€์— ์žˆ๋Š” include ํŒŒ์ผ์˜ ๊ฒฝ๋กœ๋ฅผ ์ œ๊ณต(์˜ˆ : ์™ธ๋ถ€ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ):

cppcheck -I {{include/๋””๋ ‰ํ† ๋ฆฌ_1}} -I {{include/๋””๋ ‰ํ† ๋ฆฌ_2}} .

  • Microsoft Visual Studio ํ”„๋กœ์ ํŠธ (*.vcxproj) ๋˜๋Š” ์†”๋ฃจ์…˜ (*.sln)์„ ํ™•์ธ:

cppcheck --project {{project.sln/์˜/๊ฒฝ๋กœ}}