นี่คือคำสั่ง cppcheck ที่สามารถเรียกใช้ในผู้ให้บริการโฮสต์ฟรีของ OnWorks โดยใช้หนึ่งในเวิร์กสเตชันออนไลน์ฟรีของเรา เช่น Ubuntu Online, Fedora Online, โปรแกรมจำลองออนไลน์ของ Windows หรือโปรแกรมจำลองออนไลน์ของ MAC OS
โครงการ:
ชื่อ
cppcheck - เครื่องมือสำหรับการวิเคราะห์โค้ด C/C++ แบบคงที่
เรื่องย่อ
ซีพีพีเช็ค [--ผนวก=] [--ตรวจสอบการกำหนดค่า] [--check-ห้องสมุด] [-NS] [-ยู]
[--enable=] [--error-exitcode=] [--รายการข้อผิดพลาด]
[--exitcode-ปราบปราม=] [--file-list=] [--บังคับ] [--ช่วยด้วย]
[-ผม] [--includes-file=] [--config-exclude=]
[--config-excludes-file=] [--include=] [-ผม] [--สรุปไม่ได้]
[--อินไลน์สนับสนุน] [-NS] [-l] [--ภาษา=] [--ห้องสมุด=]
[--max-configs=] [--แพลตฟอร์ม=] [--เงียบ] [--ญาติ-เส้นทาง=]
[--รายงานความคืบหน้า] [--กฎ=] [--rule-file=] [--std=]
[--ปราบปราม=] [--ปราบปรามรายการ=] [--แม่แบบ=' ']
[--รายละเอียด] [--รุ่น] [--xml] [--xml-รุ่น= ]] [ไฟล์ or เส้นทาง] ...
DESCRIPTION
Cppcheck เป็นเครื่องมือบรรทัดคำสั่งที่พยายามตรวจหาจุดบกพร่องที่คอมไพเลอร์ C/C++ ของคุณไม่มี
ดู. ใช้งานได้หลากหลาย และสามารถตรวจสอบโค้ดที่ไม่ได้มาตรฐานรวมถึงคอมไพเลอร์ต่างๆ ได้ด้วย
ส่วนขยาย รหัสแอสเซมบลีแบบอินไลน์ ฯลฯ พรีโปรเซสเซอร์ภายในสามารถจัดการได้รวมถึง
มาโครและคำสั่งพรีโปรเซสเซอร์หลายคำสั่ง ในขณะที่ Cppcheck สามารถกำหนดค่าได้สูง คุณสามารถ
เริ่มใช้งานเพียงแค่กำหนดเส้นทางไปยังซอร์สโค้ด
OPTIONS
วิเคราะห์ไฟล์ C/C++ ที่กำหนดเพื่อหาข้อผิดพลาดทั่วไป
--ผนวก=
สิ่งนี้ทำให้คุณสามารถให้ข้อมูลเกี่ยวกับฟังก์ชั่นโดยจัดให้มีการใช้งาน
สำหรับสิ่งเหล่านี้
--ตรวจสอบการกำหนดค่า
ตรวจสอบการกำหนดค่า Cppcheck การวิเคราะห์รหัสปกติถูกปิดใช้งานโดยแฟล็กนี้
--check-ห้องสมุด
แสดงข้อความข้อมูลเมื่อไฟล์ไลบรารีมีข้อมูลไม่ครบถ้วน
-NS
โดยค่าเริ่มต้น Cppcheck จะตรวจสอบการกำหนดค่าทั้งหมด ใช้ -D เพื่อจำกัดการตรวจสอบ เมื่อ -D
ใช้การตรวจสอบจำกัดเฉพาะการกำหนดค่าที่กำหนด ตัวอย่าง: -DDEBUG=1
-D__cplusplus
-ยู
โดยค่าเริ่มต้น Cppcheck จะตรวจสอบการกำหนดค่าทั้งหมด ใช้ '-U' เพื่อซ่อนบางอย่างอย่างชัดเจน
#ifdef เส้นทางรหัสจากการตรวจสอบ ตัวอย่าง: '-UDEBUG'
--enable=
เปิดใช้งานการตรวจสอบเพิ่มเติม รหัสที่มีอยู่คือ:
ทั้งหมด
เปิดใช้งานการตรวจสอบทั้งหมด ขอแนะนำให้ใช้ --enable=all เมื่อทั้งหมด .เท่านั้น
โปรแกรมถูกสแกนเพราะสิ่งนี้เปิดใช้งาน unusedFunction
คำเตือน
เปิดใช้งานข้อความเตือน
สไตล์
เปิดใช้งานการตรวจสอบรูปแบบการเข้ารหัสทั้งหมด ข้อความทั้งหมดที่มี 'สไตล์' ความรุนแรง
เปิดใช้งาน 'ประสิทธิภาพ' และ 'การพกพา'
การปฏิบัติ
เปิดใช้งานข้อความแสดงประสิทธิภาพ
ความเบา
เปิดใช้งานข้อความพกพา
ข้อมูล
เปิดใช้งานข้อความข้อมูล
ไม่ได้ใช้Function
ตรวจสอบฟังก์ชันที่ไม่ได้ใช้ ขอแนะนำให้เปิดใช้งานเฉพาะเมื่อทั้งหมด
สแกนโปรแกรมแล้ว
หายไปรวม
เตือนหากมีขาดหายไปรวมถึง สำหรับข้อมูลโดยละเอียดให้ใช้ --check-config
โดยค่าเริ่มต้น จะไม่มีการเปิดใช้งานการตรวจสอบเพิ่มเติม คุณสามารถให้รหัสได้หลายรหัสหากคุณ
คั่นด้วยเครื่องหมายจุลภาค เช่น --enable=style,unusedFunction ดูเพิ่มเติม --std
--error-exitcode=
หากพบข้อผิดพลาด จำนวนเต็ม ถูกส่งกลับแทนค่าเริ่มต้น 0 EXIT_FAILURE คือ
ส่งคืนหากอาร์กิวเมนต์ไม่ถูกต้องหรือไม่มีไฟล์อินพุตให้ โปรดทราบว่า .ของคุณ
ระบบปฏิบัติการสามารถปรับเปลี่ยนค่านี้ได้ เช่น 256 สามารถกลายเป็น 0
--รายการข้อผิดพลาด
พิมพ์รายการข้อความแสดงข้อผิดพลาดที่เป็นไปได้ทั้งหมดในรูปแบบ XML
--exitcode-ปราบปราม=
ใช้เมื่อบางข้อความควรแสดงแต่ไม่ควรทำให้ค่าที่ไม่ใช่ศูนย์
รหัสทางออก
--file-list=
ระบุไฟล์ที่จะตรวจสอบในไฟล์ข้อความ หนึ่งชื่อไฟล์ต่อบรรทัด เมื่อไฟล์คือ -, the
รายการไฟล์จะถูกอ่านจากอินพุตมาตรฐาน
-f, --บังคับ
บังคับตรวจสอบไฟล์ที่มีการกำหนดค่าจำนวนมาก มีการพิมพ์ข้อผิดพลาดหาก a . ดังกล่าว
พบไฟล์ดังนั้นจึงไม่มีเหตุผลที่จะใช้สิ่งนี้โดยค่าเริ่มต้น หากใช้ร่วมกับ
--max-configs= ตัวเลือกสุดท้ายคือตัวเลือกที่มีประสิทธิภาพ
-h, --ช่วยด้วย
พิมพ์ข้อความช่วยเหลือ
-I
ให้เส้นทางเพื่อค้นหาไฟล์รวม ให้พารามิเตอร์ -I หลายตัวเพื่อให้หลายตัว
เส้นทาง เส้นทางแรกที่กำหนดจะถูกค้นหาไฟล์ส่วนหัวที่มีอยู่ก่อน ถ้าเส้นทางคือ
เมื่อเทียบกับไฟล์ต้นฉบับ ไม่จำเป็น
--includes-file=
ระบุเส้นทางไดเรกทอรีเพื่อค้นหาไฟล์ส่วนหัวที่รวมอยู่ในไฟล์ข้อความ เพิ่มหนึ่ง
รวมเส้นทางต่อบรรทัด เส้นทางแรกที่กำหนดจะถูกค้นหาไฟล์ส่วนหัวที่มีอยู่ก่อน
หากพาธสัมพันธ์กับไฟล์ต้นฉบับ ก็ไม่จำเป็น
--config-exclude=
เส้นทาง (คำนำหน้า) ที่จะแยกออกจากการตรวจสอบการกำหนดค่า การกำหนดค่าพรีโปรเซสเซอร์
ที่กำหนดไว้ในส่วนหัว (แต่ไม่ใช่แหล่งที่มา) ที่ตรงกับคำนำหน้าจะไม่ได้รับการพิจารณาสำหรับ
การประเมินทางเลือกการกำหนดค่า
--config-exclude-file=
ไฟล์ที่มีรายการ config-excludes
--include=
บังคับให้รวมไฟล์ก่อนไฟล์ที่ตรวจสอบ สามารถใช้ตัวอย่างเช่นเมื่อ
ตรวจสอบเคอร์เนลของ Linux โดยที่ autoconf.h จะต้องรวมอยู่ทุกไฟล์
รวบรวม ทำงานในลักษณะเดียวกับตัวเลือก GCC -include
-i
ให้เส้นทางที่จะละเว้น ระบุพารามิเตอร์ -i หลายรายการเพื่อละเว้นหลายเส้นทาง ให้
ชื่อไดเร็กทอรีหรือชื่อไฟล์ที่มีพาธเป็นพารามิเตอร์ ชื่อไดเรกทอรีตรงกับทั้งหมด
ส่วนของเส้นทาง
--สรุปไม่ได้
อนุญาตให้ Cppcheck รายงานแม้ว่าการวิเคราะห์จะสรุปไม่ได้ มีเท็จ
บวกกับตัวเลือกนี้ แต่ละผลลัพธ์ต้องได้รับการตรวจสอบอย่างรอบคอบก่อนที่คุณจะรู้
ถ้ามันดีหรือไม่ดี
--อินไลน์สนับสนุน
เปิดใช้งานการปราบปรามแบบอินไลน์ ใช้โดยใส่ความคิดเห็นในแบบฟอร์ม: //
cppcheck-suppress memleak ก่อนที่บรรทัดจะปราบปราม
-j
เริ่ม เธรดที่จะทำงานตรวจสอบ
-l
ระบุว่าไม่ควรเริ่มเธรดใหม่หากมีเธรดอื่นที่ทำงานอยู่และ
ค่าเฉลี่ยโหลดอย่างน้อย (ละเว้นบนระบบที่ไม่ใช่ UNIX-like)
--ภาษา=
บังคับให้ cppcheck ตรวจสอบไฟล์ทั้งหมดเป็นภาษาที่กำหนด ค่าที่ถูกต้องคือ: c, c++
--ห้องสมุด=
ใช้การกำหนดค่าไลบรารี
--max-configs=
จำนวนการกำหนดค่าสูงสุดที่จะเช็คอินไฟล์ก่อนข้าม ค่าเริ่มต้นคือ 12
หากใช้ร่วมกับ --force ตัวเลือกสุดท้ายคือตัวเลือกที่มีประสิทธิภาพ
--แพลตฟอร์ม=
ระบุประเภทและขนาดเฉพาะของแพลตฟอร์ม แพลตฟอร์มที่ใช้ได้คือ:
ยูนิกซ์ 32
ตัวแปรยูนิกซ์ 32 บิต
ยูนิกซ์ 64
ตัวแปรยูนิกซ์ 64 บิต
win32A
การเข้ารหัสอักขระ Windows ASCII 32 บิต
win32W
การเข้ารหัสอักขระ Windows UNICODE 32 บิต
win64
Windows 64 บิต
โดยค่าเริ่มต้น แพลตฟอร์มที่ใช้ในการคอมไพล์ Cppcheck จะถูกใช้
-q, --เงียบ
พิมพ์บางอย่างเมื่อมีข้อผิดพลาดเท่านั้น
-rp, -rp=, --ญาติ-เส้นทาง;, --ญาติ-เส้นทาง=
ใช้พาธสัมพัทธ์ในเอาต์พุต เมื่อให้แล้ว ใช้เป็นฐาน แยกได้
หลายเส้นทางโดย ';' มิฉะนั้นเส้นทางที่ใช้ค้นหาไฟล์ต้นฉบับ เช่น if
ค่าที่กำหนดคือการทดสอบ เมื่อตรวจสอบ test/test.cpp เส้นทางในเอาต์พุตจะเป็น test.cpp
แทน test/test.cpp คุณลักษณะนี้ใช้การเปรียบเทียบสตริงเพื่อสร้างเส้นทางสัมพัทธ์
ดังนั้นการใช้เช่น ~ สำหรับโฮมโฟลเดอร์ไม่ทำงาน ขณะนี้สามารถสมัครได้เท่านั้น
พาธฐานไปยังไฟล์ที่อยู่ในระดับต่ำกว่าในแผนผังไดเร็กทอรี
--รายงานความคืบหน้า
รายงานความคืบหน้าเมื่อตรวจสอบไฟล์
--กฎ=
จับคู่นิพจน์ทั่วไปเพื่อสร้างเช็คของคุณเอง เช่น กฎ "/ 0" สามารถใช้เพื่อ
ตรวจสอบการหารด้วยศูนย์ คำสั่งนี้จะใช้ได้ก็ต่อเมื่อ cppcheck ถูกคอมไพล์ด้วย
HAVE_RULES=ใช่
--rule-file=
ใช้ไฟล์ XML กฎที่กำหนด ดู https://sourceforge.net/projects/cppcheck/files/Articles/
สำหรับข้อมูลเพิ่มเติมเกี่ยวกับไวยากรณ์ คำสั่งนี้จะใช้ได้ก็ต่อเมื่อ cppcheck เป็น
รวบรวมด้วย HAVE_RULES=yes
--std=
กำหนดมาตรฐาน ตัวเลือกที่ใช้ได้คือ:
POSIX
รหัสที่รองรับ POSIX
c89
รหัส C เข้ากันได้กับ C89
c99
รหัส C เข้ากันได้กับ C99
c11
รหัส C เข้ากันได้กับ C11 (ค่าเริ่มต้น)
ค++03
รหัส C++ เข้ากันได้กับ C++03
ค++11
รหัส C++ เข้ากันได้กับ C++11 (ค่าเริ่มต้น)
ตัวอย่างการตั้งค่ามากกว่าหนึ่งมาตรฐาน: 'cppcheck --std=c99 --std=posix file.cpp'
--ปราบปราม=
ระงับคำเตือนเฉพาะ รูปแบบของ คือ: [รหัสข้อผิดพลาด]:[ชื่อไฟล์]:[บรรทัด]
[ชื่อไฟล์] และ [บรรทัด] เป็นทางเลือก [รหัสข้อผิดพลาด] อาจเป็น * เพื่อระงับคำเตือนทั้งหมด
(สำหรับไฟล์หรือไฟล์ที่ระบุ) [ชื่อไฟล์] อาจมีอักขระตัวแทน * หรือ
?.
--ปราบปรามรายการ=
ระงับคำเตือนที่ระบุไว้ในไฟล์ การปราบปรามแต่ละครั้งจะอยู่ในรูปแบบของ
ข้างบน.
--แม่แบบ=' '
จัดรูปแบบข้อความแสดงข้อผิดพลาด เช่น '{file}:{line},{severity},{id},{message}' หรือ
'{file}({line}):({severity}) {ข้อความ}' เทมเพลตที่กำหนดไว้ล่วงหน้า: gcc, vs
-v, --รายละเอียด
รายงานข้อผิดพลาดโดยละเอียดเพิ่มเติม
--รุ่น
พิมพ์ข้อมูลรุ่น
--xml
เขียนผลลัพธ์ใน XML เพื่อสตรีมข้อผิดพลาด
--xml-รุ่น=
เลือกเวอร์ชันไฟล์ XML ปัจจุบันมีเวอร์ชัน 1 และ 2 ค่าเริ่มต้น
รุ่นคือ 1
ใช้ cppcheck ออนไลน์โดยใช้บริการ onworks.net