คำถามติดแท็ก conditional-compilation

16
ฉันจะตรวจสอบระบบปฏิบัติการด้วยคำสั่งพรีโปรเซสเซอร์ได้อย่างไร
ฉันต้องการรหัสของฉันเพื่อทำสิ่งต่าง ๆ ตามระบบปฏิบัติการที่ได้รับการรวบรวม ฉันกำลังมองหาบางสิ่งเช่นนี้: #ifdef OSisWindows // do Windows-specific stuff #else // do Unix-specific stuff #endif มีวิธีทำเช่นนี้หรือไม่? มีวิธีที่ดีกว่าในการทำสิ่งเดียวกันหรือไม่?

15
การหา 32 vs 64 บิตใน C ++
ฉันกำลังมองหาวิธีที่เชื่อถือได้ตรวจสอบว่ารหัส C ++ จะถูกรวบรวมใน 32 vs 64 บิต เราเกิดขึ้นกับสิ่งที่เราคิดว่าเป็นวิธีแก้ปัญหาที่สมเหตุสมผลโดยใช้มาโคร แต่ก็อยากรู้ว่าคนอื่นจะนึกถึงกรณีที่อาจล้มเหลวหรือมีวิธีที่ดีกว่าในการทำเช่นนี้ โปรดทราบว่าเรากำลังพยายามทำสิ่งนี้ในสภาพแวดล้อมคอมไพเลอร์แบบหลายแพลตฟอร์ม #if ((ULONG_MAX) == (UINT_MAX)) # define IS32BIT #else # define IS64BIT #endif #ifdef IS64BIT DoMy64BitOperation() #else DoMy32BitOperation() #endif ขอบคุณ

8
#ifdef #ifndef ใน Java
ฉันสงสัยว่ามีวิธีสร้างเงื่อนไขเวลาคอมไพล์ใน Java เช่น #ifdef #ifndef ใน C ++ หรือไม่ ปัญหาของฉันคือมีอัลกอริทึมที่เขียนด้วย Java และฉันมีเวลาในการทำงานที่แตกต่างกันในการปรับปรุงอัลกอริทึมนั้น ดังนั้นฉันต้องการวัดว่าฉันประหยัดเวลาได้เท่าใดเมื่อใช้การปรับปรุงแต่ละครั้ง ตอนนี้ฉันมีชุดของตัวแปรบูลีนที่ใช้ในการตัดสินใจในช่วงเวลาที่ทำงานว่าควรใช้การปรับปรุงใดและไม่ควรใช้อะไร แต่แม้กระทั่งการทดสอบตัวแปรเหล่านั้นก็มีผลต่อเวลาทำงานทั้งหมด ดังนั้นฉันจึงต้องการหาวิธีตัดสินใจในช่วงเวลาการรวบรวมว่าควรคอมไพล์และใช้ส่วนใดของโปรแกรม มีใครรู้วิธีทำใน Java หรืออาจมีคนรู้ว่าไม่มีวิธีนี้ (ก็จะมีประโยชน์เช่นกัน)
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.