2012-06-25 11 views
8

जब सी ++ कोड लिखने, मैं अक्सर अपनी हेडर फाइल में पूर्ण 'कार्यान्वयन' कोड लिख कर शुरू करते हैं, फिर बाद में एक सीपीपी में कार्यान्वयन refactor करने के लिए की जरूरत है फ़ाइल।स्वचालित रूप से (refactor) विभाजित ज में शीर्षक और कार्यान्वयन (ज + सीपीपी)

यह महान है, लेकिन मैं इस प्रक्रिया श्रमसाध्य, लेकिन अन्यथा बहुत आसान लगता है, तो मैं क्या वहाँ यह करने के लिए किसी भी स्वचालित तरीका है के बारे में सोचा?

विशेष रूप से, मैं घोषणाओं के लिए .h में सभी वर्ग और फ़ंक्शन परिभाषाओं को परिवर्तित करना चाहता हूं, और उन्हें .cpp फ़ाइल में घोषित किया है।

मैं xcode उपयोग कर रहा हूँ, लेकिन मैं किसी भी समाधान के लिए खुला रहा हूँ।

+0

एक्सकोड? मैंने सोचा कि इसका मतलब उद्देश्य सी (++) है, न कि "सादा" सी ++। –

+0

एक्सकोड सिर्फ एक सामान्य आईडीई है जो उद्देश्य सी पर केंद्रित है। यह सुनिश्चित नहीं था कि इसका उल्लेख करने से परेशान होना है, लेकिन बहुत अधिक जानकारी प्रदान करना बेहतर है। ;) – aaaidan

उत्तर

9

वहाँ Lazy C++ जहां आप केवल एक .lzz फ़ाइल लिखने है और यह ज और सीपीपी आप के लिए उत्पन्न करता है।

मैं वास्तव में C++ modules के लिए आगे देख रहा हूँ, जहाँ आप केवल सीपीपी लिख सकते हैं और आयात फ़ाइल स्वचालित रूप से उत्पन्न होता है। लेकिन हमें कुछ वर्षों तक इंतजार करना पड़ेगा, भले ही क्लैंग मॉड्यूल को लागू करना शुरू कर दिया है। Here कुछ उदाहरण हैं।

+0

अरे, मुझे यह पसंद है! इसलिए जब आप '.lzz' बदलते हैं तो आपके पास मेकफ़ाइल नियम/निर्भरता' cpp' और 'h' उत्पन्न हो सकती है। अच्छा लगा। – aaaidan

1

आप इस तरह के Makeheaders

रूप

http://www.hwaci.com/sw/mkhdr/

लेकिन सामान्य रूप में कुछ उपकरणों का उपयोग कर सकते हैं, इन उपकरणों पूरा नहीं हुआ है, खासकर नई C++ 11 फ़ाइलें बैठक कर रहे हैं।

+0

एमएम, आशाजनक लग रहा था, लेकिन इसे संकलित करने के लिए बहुत सारे बदलाव किए गए (मॉलोक द्वारा उनके सही प्रकारों में लौटाए गए शून्य पॉइंटर्स को दर्जनों को डालना पड़ा)। संकलित, लेकिन जब मैंने इसे चलाया तो कोई आउटपुट नहीं दिया। कोई विचार? – aaaidan

+0

ओह, यह lzz के समान है। तो आप lzz का उपयोग जारी रख सकते हैं :) –

1

तुम भी ग्रहण के समारोह "Refactor/टॉगल समारोह" में रुचि हो सकती। हालांकि यह हमेशा ठीक से काम नहीं करता है।

संबंधित मुद्दे