มันค่อนข้างจำเป็นที่จะต้องใช้-pedantic
ธง
ฉันจะเพิ่มเฉพาะกับมาตรฐานปัจจุบันจะแนะนำให้ใช้สิ่งที่คล้ายกับ:
-std=c++17 -Wall -Wextra -Werror -Wpedantic -pedantic-errors
ที่ไหน:
-std=c++17
บอกว่ามันเป็นไปตามการแก้ไขของ C ++ มาตรฐานการตีพิมพ์ในปี 2017 คุณสามารถอ่านเพิ่มเติมได้ที่นี่
-Wall
บอกให้:
เปิดใช้งานคำเตือนทั้งหมดเกี่ยวกับสิ่งปลูกสร้างที่ผู้ใช้บางคนพิจารณาว่าน่าสงสัยและง่ายต่อการหลีกเลี่ยง (หรือแก้ไขเพื่อป้องกันคำเตือน) แม้จะใช้ร่วมกับมาโครในคำอื่น ๆ ชุดคำเตือนบางอย่าง
-Wextra
บอกให้เปิดใช้คำเตือนเพิ่มเติมบางคำ
-Werror
บอกให้ทำการเตือนทั้งหมดเป็นข้อผิดพลาด
-Wpedantic
หรือเพียงแค่-pedantic
บอกให้:
ออกคำเตือนทั้งหมดที่ต้องการโดย ISO C และ ISO C ++ ที่เข้มงวด ปฏิเสธโปรแกรมทั้งหมดที่ใช้ส่วนขยายที่ต้องห้ามและบางโปรแกรมที่ไม่เป็นไปตาม ISO C และ ISO C ++
-pedantic-errors
บอกให้มันให้ข้อผิดพลาดเมื่อใดก็ตามที่มาตรฐานฐาน (ดู -Wpedantic) ต้องมีการวินิจฉัย
ชุดนี้มักจะมีประโยชน์ไม่เพียง แต่สำหรับผู้เริ่มต้นเนื่องจากพวกเขาจะค่อยๆเรียนรู้คำเตือนแต่ละครั้งมีความเป็นไปได้ที่จะเกิดข้อผิดพลาด แต่ยังสำหรับการใช้งานปกติ
ตัวเลือกการแจ้งเตือนทั้งหมดมีการอธิบายในรายละเอียดที่นี่ใน GNU / หน้า