पर चोक करता है मैं पुराने कंपेलर को कुछ अपेक्षाकृत आधुनिक सी कोड पोर्ट करने की कोशिश कर रहा हूं।पुराना सी कंपाइलर #ifndef #define
इस संकलक (DICE), ऐसा लगता है, पहली हेडर फाइल और इस मुहावरे की पहली आवृत्ति पर chokes:
#ifndef SOMETHING
#define SOMETHING
...
#endif /* SOMETHING */
इसके साथ शीर्षक में दूसरी पंक्ति पर मर जाता है: DCPP: "../../code/someheader.h" L:2 C:0 Error:39 Syntax Error
#define SOMETHING 1
में बदलना कोई फर्क नहीं पड़ता।
तो मेरे पास वास्तव में दो प्रश्न हैं, क्या मैं गलत विकल्प या कुछ के साथ डीआईसी का उपयोग कर रहा हूं, या क्या सी प्रोग्रामर कुछ अन्य मुहावरे का उपयोग करते हैं जो पुराने दिनों में वापस परिभाषित करते हैं?
संदर्भ:
- DICE Wikipedia Entry
- Original source code,
- थोड़ा अद्यतन Amiga version
- पासा, मैट डिलन के लेखक यूनिक्स पर चलता है, पर चला गया DragonFlyBSD
यदि यह [यह डीआईसीई कंपाइलर] (http://www.obviously.com/amiga/) है तो निश्चित रूप से सामान्य रूप से गार्ड के साथ काम करने के लिए उपयोग किया जाता है। – tinman
मेरा पहला संस्करण (21 वां प्रिंटिंग) के एंड आर पृष्ठ 208 पर #ifndef का वर्णन करता है, इसलिए यह थोड़ी देर के आसपास रहा है। –
ओह, वह सवाल यादें वापस लाता है! मैंने शेयरवेयर संस्करण के लिए भी भुगतान किया। :) इसके अलावा, इसे काम करना चाहिए, अन्यथा सभी सिस्टम हेडर भी असफल हो जाएंगे। –