คำถามติดแท็ก compiler-flags

5
ระดับการปรับให้เหมาะสม -O3 เป็นอันตรายใน g ++ หรือไม่
ฉันเคยได้ยินจากแหล่งต่าง ๆ (แม้ว่าส่วนใหญ่มาจากเพื่อนร่วมงานของฉัน) การรวบรวมด้วยระดับการเพิ่มประสิทธิภาพของ-O3ใน g ++ นั้นค่อนข้างอันตรายและควรหลีกเลี่ยงโดยทั่วไปเว้นแต่จะพิสูจน์แล้วว่าจำเป็น นี่เป็นเรื่องจริงหรือไม่และถ้าเป็นเช่นนั้นทำไม ฉันควรจะติดกับ-O2?

5
วิธีการดูว่าธง --march = พื้นเมืองจะเปิดใช้งาน?
ฉันกำลังรวบรวมแอป C ++ ของฉันโดยใช้ GCC 4.3 แทนที่จะเลือกการตั้งค่าสถานะการปรับแต่งที่ฉันใช้ด้วยตนเอง-march=nativeซึ่งในทางทฤษฎีแล้วควรเพิ่มการตั้งค่าสถานะการปรับให้เหมาะสมทั้งหมดที่ใช้กับฮาร์ดแวร์ที่ฉันกำลังรวบรวม แต่ฉันจะตรวจสอบการตั้งค่าสถานะที่ใช้งานจริงได้อย่างไร

24
ธง GCC ที่มีประโยชน์สำหรับ C
นอกเหนือจากการตั้งค่า-Wallและการตั้งค่า-std=XXXแล้วมีประโยชน์อื่น ๆ อีกมากมาย แต่มีการรวบรวมค่าสถานะคอมไพเลอร์น้อยกว่าที่ใช้ใน C? ฉันสนใจเป็นพิเศษในการเตือนเพิ่มเติมและ / หรือการเปลี่ยนคำเตือนเป็นข้อผิดพลาดในบางกรณีเพื่อลดความไม่ตรงกันของประเภทอุบัติเหตุใด ๆ
157 c  gcc  compiler-flags 


9
คุณจะปิดการใช้งานคำเตือนตัวแปรที่ไม่ได้ใช้งานที่ออกมาจาก gcc ในรหัสของบุคคลที่สามได้อย่างไร?
ฉันต้องการทราบว่าสวิตช์ใดที่คุณส่งต่อไปยังคอมไพเลอร์ gcc เพื่อปิดคำเตือนตัวแปรที่ไม่ได้ใช้ ฉันได้รับข้อผิดพลาดจากการเพิ่มประสิทธิภาพบน windows และฉันไม่ต้องการแตะรหัสเพิ่ม: C:\boost_1_52_0/boost/system/error_code.hpp: At global scope: C:\boost_1_52_0/boost/system/error_code.hpp:214:36: error: 'boost::system::posix_category' defined but not used [-Werror=unused-variable] C:\boost_1_52_0/boost/system/error_code.hpp:215:36: error: 'boost::system::errno_ecat' defined but not used [-Werror=unused-variable] C:\boost_1_52_0/boost/system/error_code.hpp:216:36: error: 'boost::system::native_ecat' defined but not used [-Werror=unused-variable] ฉันลองใช้ทั้งสองอย่าง-Wunused-valueและ-Wno-unused-valueไม่ได้ระงับข้อความข้างต้น คำสั่งที่ถูกต้องคืออะไรนี่คือบรรทัดคอมไพล์ของฉัน: g++ -g -fno-inline -Wall -Werror -Wextra -Wfloat-equal -Wshadow -Wpointer-arith -Wcast-qual -Wcast-align -Wwrite-strings -Wno-conversion -Wdisabled-optimization …
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.