अधिक विशिष्ट होना करने के लिए, मैं एक संकलक जो चर लंबाई सरणियों का समर्थन नहीं करता (विजुअल C++ 2005)
इस पर स्थिर से परिभाषित करने की (और केवल घोषित नहीं) की आवश्यकता है उपयोग कर रहा हूँ उपयोग की स्थिति। इसके अलावा, सी सी की तुलना में अधिक प्रतिबंध ++ क्या एक सरणी आयाम के रूप में एक निरंतर प्रयोग करने योग्य का गठन किया पर है: मूल रूप से पूर्णांक शाब्दिक (मैक्रो के माध्यम से प्रतिस्थापित किया जा सकता है) और प्रगणक; विपरीत सी ++ यह अभिन्न स्थिरांक (int const x
) नहीं है, तो मोड (सी या सी ++) आप में संकलन के आधार पर आप सीमित हो सकती हैं।
सी फाइलों को स्वचालित रूप से उत्पन्न करने के लिए रस्टक या कार्गो में कोई सुविधा नहीं है, प्रतीकों को केवल निर्यात और लिंक-टाइम पर उपलब्ध है, संकलन समय पर नहीं।
हालांकि आप भाग्यशाली हैं, एक समाधान है, हालांकि यह थोड़ा अधिक बोझिल है।
जंग एक build.rs
फ़ाइल है, जो संकलित और नियमित रूप से संकलन की प्रक्रिया के हिस्से के रूप में क्रियान्वित किया जाता है सुविधाएँ। इस फ़ाइल में आदेश शामिल कर सकते हैं अन्य फ़ाइलें उत्पन्न करने के लिए, और इसलिए यह करने के लिए पूरी तरह से संभव है:
- एक बार और एक
.rs
फ़ाइल में सभी के लिए निरंतर लिख
- एक सी हैडर "निर्यात" एक में इस निरंतर उत्पन्न
build.rs
फ़ाइल के माध्यम से सी प्रारूप।
स्रोत
2015-07-31 17:04:34
आह, यह चर-लंबाई वाले सरणी का समर्थन करने वाले कंपाइलरों के लिए ठीक काम करता है, लेकिन मेरे लिए नहीं। मैं विजुअल सी ++ 2005 कंपाइलर का उपयोग कर रहा हूं। मैं अपने प्रश्न को और अधिक विशिष्ट होने के लिए अपडेट कर दूंगा। –
उस स्थिति में आप प्रीप्रोसेसर-आधारित स्थिरांक से फंस गए हैं, इसलिए आप दुर्भाग्य से जंग की तरफ परिभाषित स्थिरांक का उपयोग नहीं कर पाएंगे। –