Cppcheck เป็นโปรแกรมอะไร เอาไว้ใช้ทำอะไรกันนะ

cppcheck_150_gui

Cppcheck เป็นเครื่องมือในการวิเคราะห์ source code ของ ภาษา C และ C++ หรือที่เรียกว่า static analysis tool ซึ่งเป็นเครื่องมือที่สามารถใช้ในการช่วยตรวจสอบคุณภาพของ code ของเราได้ โดย Cppcheck นั้น บางคนอาจจะเข้าใจผิดคิดว่า Cppcheck ใช้สำหรับตรวจสอบ Systext ของภาษา C และ C++ แต่จริงๆแล้ว Cppcheck ไม่ได้ตรวจสอบ sysntext error แต่ใช้ในการตรวจหา Bug ที่เกิดจากการเขียนโปรแกรมที่ไม่ถูกต้อง ไม่ปลอดภัย หรือมีโอกาสที่จะเกิด Bug เช่น

การไม่ได้กำหนดค่าตัวแปรก่อนใช้งาน, มีโอกาสเกิด Memory leaks, การใช้ index ของ array ที่เกินจากที่ประกาศไว้, Resource leaks , การใช้ Standard Tamplate Libray ผิด เป็นต้น

ตัวอย่าง Source code ที่ใช้กับ Cppcheck

int main()
{
    char a[10];
    a[10] = 0;
    return 0;
}

จาก Source code จะเห็นว่าเราสามารถ compile ได้ผ่าน แต่เมื่อนำไปรันใช้งานจริงจะทำให้เกิด error ได้เนื่องจาก เรียก index ของ array เกิน ที่ประกาศไว้

หากใช้ Cppcheck เพื่อตรวจสอบก่อน ตัว Cppcheck ก็จะบอกเราว่า Error Array ‘a[10]’ index 10 out of bounds

ดังนั้นสำหรับใครที่เขียนโปรแกรมภาษา C หรือ C++ ก็อยากจะแนะนำให้พอเขียนเสร็จแล้วก่อนที่จะนำไป Test ให้ลองตรวจสอบกับโปรแกรม Cppcheck ก่อนจะได้ช่วยลด Bug ลงไปได้เยอะ สำหรับใครที่อยากจะใช้ก็สามารถดาวโหลด Cppcheck ได้ที่ http://cppcheck.net/ หรืออยากลองใช้ demo ได้ที่ http://cppcheck.net/demo/