แนะนำโปรแกรม Cppcheck

Cppcheck เป็นโปรแกรมที่เอาไว้ตรวจสอบวิเคราะห์การเขียนโปรแกรมภาษา C หรือ C++ (รวมไปถึง Embedded C/C++ ด้วย) ที่ไม่ถูกต้องหรืออาจมีโอกาสทำให้เกิด Bug หรือสามารถเรียกได้อีกแบบว่าเป็น C/C++ static code analysis tool ซึ่ง Cppcheck นั้นสามารถแสดงผลการตรวจเช็คโดยแจ้งเตือนได้หลายแบบหลายระดับตั้งแต่ระดับ Warning ไปจนถึง Critical ทำให้เราสามารถเขียน Code ภาษา C หรือ C++ ได้อย่างมีประสิทธิภาพลดความผิดพลาดลดโอกาสการเกิด Bug โดยบทความนี้จะมาแนะนำวิธีใช้งานเบื้องต้นและการนำไปใช้งาน

โดยเพื่อนๆสามารถ Download Cppcheck นำไปใช้งานได้ฟรีๆที่ http://cppcheck.sourceforge.net/

เลือกโหลดที่ Windows 64-bit Installer

 

การสร้างโปรเจคใน Cppcheck ครั้งแรก

หลังจากเราติดตั้งเสร็จแล้ว ให้เราเปิดโปรแกรมมาแล้วเลือกไปที่  File เลือก New Project File

 

เลือกที่ Save Project

 

ที่แถบ Paths and Defines ให้ กด Add ทั้งสอง ที่ Paths และ Include Paths ให้เลือกที่เก็บ Folder ของไฟล์โปรแกรมของเรา (.c, .h, .cpp)

 

ที่แถบ Addon ให้เราเลือก  Cert ด้วย โดยโปรแกรมจะทำการตรวจเช็คตามกฏต่างๆของ Cert coding standard (มาตรฐานการเขียน Code ภาษา C และ C++ สามารถดูเพิ่มเติมได้ที่ https://wiki.sei.cmu.edu/confluence/display/c/SEI+CERT+C+Coding+Standard และ https://wiki.sei.cmu.edu/confluence/pages/viewpage.action?pageId=88046682) แล้วก็กด OK

 

กด Yes ต่อ

Cppcheck จะทำการตรวจสอบ Code ของเราและแสดงผลการตรวจสอบ โดยแบ่งเป็น Errors, Warning, Styles warning, Portability waring, Performance warning และ Information message โดยสามารถเลือกเปิดปิดดูได้ที่ไอคอนด้านบนได้เลย

 

 

สามารถทดลองตรวจสอบ Code ของเรา โดยทดลองใช้งาน Demo ตรวจสอบผ่านเว็บได้่ที่

http://cppcheck.net/demo/

วิธี Setting Cppcheck ให้ใช้งานกับ Sublime Text หรือ Notepad++

เวลาเราใช้ Cppcheck เพื่อตรวจสอบ Source code ของเรา หากเราเจอ error หรือ warning แล้วต้องการแก้ไขผ่าน Text Editor ที่เราใช้งานอยู่เป็นประจำเช่น Sublime Text หรือ Notepad++

เราสามารถ Setting Cppcheck ได้ตามนี้เลย ก่อนอื่นให้ไปที่ Edit>Preferences
cppcheck-line-1

มาที่ Tab Applications ให้เราทำการ Add โปรแกรมที่เราอยากจะใช้เป็น Text Editor เข้าไป จากตัวอย่างจะ Add Notepad++ และ Sublime Text 3
cppcheck-line-2

โดยค่า Setting ของ Sublime Text ก็จะต้องใส่ Name, Executable path แล้วก็ Parameters โดยให้ใส่ Parameters ว่า (file):(line):0 ซึ่ง file นี้หมายถึงชื่อไฟล์ เช่น test.c และ line ก็คือเลขบรรทัด ส่วน 0 ก็คือ คอลัมน์ที่ 0 คอลัมน์แรกนั้นเอง
cppcheck-line-3

ส่วน Notepad++ ก็ใส่ Parameters ว่า –n(line) (file)
cppcheck-line-4

ลองทดลองใช้โดย Setting ให้ Sublime Text เป็นตัว Default กดเช็ค Code ดูมี Warning ดังภาพ แล้วดับเบิลคลิกดูหน่อย
cppcheck-line-0

โปรแกรมก็จะเปิด Sublime Text ขึ้นมาแล้ววิ่งไปที่บรรทัดที่มีปัญหาได้อย่างถูกต้องแล้ว
cppcheck-line-5