2013-01-17 68 views
7

डी प्रोग्रामों के लिए अनुशंसित विकास प्रक्रिया क्या है जो जीथ्यूब से अलग किए गए पैकेज का उपयोग करते हैं और अलग से निर्मित होते हैं?डी विकास प्रक्रिया

आमतौर संबंध में कैसे C/C++ परियोजनाओं बनाने, cmake का उपयोग कर, autotools निर्माण कर रहे हैं करने के लिए, आदि

अधिकांश अन्य निर्माण विनिर्देशों एक स्थापित लक्ष्य है। क्या निर्माण में कोई इंस्टॉल लक्ष्य होना चाहिए या क्या हमें सीधे लाइब्रेरी को लिंक करना चाहिए, जहां इसे बनाया गया है और इसे D_INCLUDE_PATH में पंजीकृत करें और फिर उन्हें DFLAGS=-I<D_INCLUDE_PATH> का उपयोग करके निर्देशित करें?

+1

+1। कुछ समय पहले मैं इसे भी ढूंढ रहा था और कुछ भी नहीं मिला। अपनी खुद की परियोजनाओं के लिए सीएमके का उपयोग करके समाप्त हो गया और मैन्युअल रूप से लाइब्रेरी को '~/droot' जैसे पुस्तकालयों को स्थापित करना (इसलिए पुस्तकालय '~/droot/lib' में थे) और इस पथ को सीएमके कॉन्फ़िगरेशन में निर्दिष्ट करना। यह उदासीनता से बहुत दूर है जावा अपने मैवेन या गो के साथ 'जाओ get' के साथ। –

+0

क्या किसी ने डी के साथ शेक करने की कोशिश की है? http://community.haskell.org/~ndm/shake/ – Arlen

उत्तर

2

मुझे पता है मेरी टिप्पणी वास्तव में प्रश्न का उत्तर हो सकता है, इसलिए यहाँ यह है:

डी विकास की प्रक्रिया सी या सी ++ दुनिया में समान की तुलना में अलग नहीं हो सकता। क्या यह देखना मुश्किल है? लगभग सभी सी और सी ++ कंपाइलर "मूल" कोड उत्पन्न करते हैं। डी अपवाद नहीं है। डीएनईटी प्रोजेक्ट था जो .NET को लक्षित कर सकता था, लेकिन यह वर्षों से निष्क्रिय है ...

इसके अलावा, सी/सी ++ आधारित परियोजनाओं में उपयोग किए जाने वाले सभी टूल आसानी से किसी और चीज़ के लिए उपयोग किए जा सकते हैं। सीएमके का उपयोग जावा या .NET परियोजनाओं में भी किया जा सकता है। मेक और/या ऑटोोटूल के लिए ही चला जाता है। जावा दुनिया में मैवेन और चींटी अधिक लोकप्रिय क्यों हैं एक अलग कहानी है।

उनके बारे में बोलते हुए, आप डी विकास प्रक्रिया में मेवेन या चींटी का उपयोग कर सकते हैं! हाथ नीचे, आपको अपने स्वयं के मेवेन प्लगइन्स को अधिक आसान और लचीला बनाने के लिए लिखना होगा, लेकिन यह करने योग्य है, और वास्तव में एक बहुत ही अच्छी परियोजना होगी।

जो मैंने देखा है, डी प्रोग्रामर अच्छी चीज के साथ चिपके रहते हैं, या पूरी चीज करने के लिए बाश लिपि लिखते हैं। हालांकि, मैंने Lycus नींव के उपयोग WAF से लोगों को देखा है। यदि आप पाइथन प्रोग्रामर हैं, तो आप सिर्फ WAF से प्यार करेंगे। यदि नहीं, तो मैंने समान चीजों को आजमाएं - मैंने देखा है कि लोग स्कैन, रीमेक, प्रीकेक इत्यादि का उपयोग करते हैं ...

DSSS+Rebuild डी के साथ किए गए बहुत उपयोगी टूल के सबसे नज़दीकी चीज है। दुर्भाग्य से वे मृत परियोजनाएं हैं। :(

मैं एक Maven शैली उपकरण पर काम कर रहा हूँ, लेकिन मेरे पास है समय की राशि पर विचार - यह 2014 में प्रयोग करने योग्य हो जाएगा :)

+1

वास्तव में, डी बिल्डिंग प्रक्रिया सी \ C++ से बहुत अलग है। सी \ सी ++ हेडर फाइलों का उपयोग करता है, और यदि इसे बदल दिया गया है, तो आपको केवल एक कार्यान्वयन फ़ाइल को पुन: संकलित करने की आवश्यकता है, यदि हेडर फाइलों में से एक में यह शामिल है, तो हेडर फाइलों में से एक 'हेडर की फाइल' में शामिल है उस फाइल द्वारा और इसी तरह शामिल हैं। यदि आप कार्यान्वयन फ़ाइल में कोई परिवर्तन करते हैं, तो आपको केवल उस फ़ाइल को पुन: संकलित करने की आवश्यकता है। डी अलग है - एपीआई और कार्यान्वयन एक ही फाइल में हैं, और डी टेम्पलेट मेटाप्रोग्रामिंग पर भारी निर्भर करता है, इसलिए यदि आप कुछ बदलते हैं तो आपको सब कुछ पुनः संयोजित करना होगा। इससे वृद्धिशील असंभव बनाता है। –

+0

@IdanArye: अच्छी टिप्पणी। मुझसे पूछने का यह मुख्य कारण है। परंपरागत निर्माण उपकरण निर्भरता को मैन्युअल रूप से निर्दिष्ट करने के बारे में बहुत कुछ हैं।यह डी बिल्ड प्रक्रिया के लिए हमेशा सत्य नहीं है। उदाहरण के लिए जब डीएमडी का उपयोग करते हैं तो आप चीजों को गति देने के लिए डी इंटरफेस फाइलें (.di) उत्पन्न कर सकते हैं लेकिन आपको यह नहीं करना है। –

+0

मैं इडान से सहमत हूं, लेकिन मैं इस तरह के विवरण में नहीं जाना चाहता था। सभी प्रश्न उन लोगों के बारे में नहीं थे, लेकिन अगर मैं गलत नहीं हूं तो समग्र जीवन चक्र के बारे में। :) – DejanLekic