2012-02-22 4 views
7

इस प्रश्न के बदलावों से पूछा गया है, लेकिन जीएनयू/लिनक्स और सी के लिए विशिष्ट नहीं है। मैं अपने सामान्य संपादक के रूप में कॉमोडो संपादित का उपयोग करता हूं, लेकिन मैं वास्तव में कुछ ऐसा पसंद करता हूं जिसका उपयोग सीएलआई से किया जा सके। मुझे सी ++ समर्थन की आवश्यकता नहीं है; यह ठीक है अगर उपकरण केवल सादा सीसी के लिए कोड रिफैक्टरिंग उपकरण, जीएनयू/लिनक्स पर प्रयोग योग्य? एफओएसएस बेहतर

मैं वास्तव में किसी भी दिशा की सराहना करता हूं, क्योंकि मैं कुछ भी ढूंढने में असमर्थ था। मुझे उम्मीद है कि मुझे कुछ खुद को 'रोल' करने के लिए मजबूर नहीं किया गया है।

नोट: कृपया vim का उल्लेख करने से बचें; मुझे पता है कि यह अस्तित्व में है और इसकी क्षमताओं क्या हैं। मैं उद्देश्य से vim से बचने का चयन करता हूं, यही कारण है कि मैं Komodo (या सर्वर पर नैनो) का उपयोग करता हूं।

+0

क्या आप भी emacs का विरोध कर रहे हैं? –

+0

हां, मैं 'emacs' पर' vim' चुनूंगा ... लेकिन दोनों को जुनून के साथ नफरत है। मैं काम पर एकमात्र sysadmin हूं जो कहता है "न तो", जब पूछा गया कि मैं कौन सा पसंद करता हूं। मैं सर्वर पर 'नैनो' का उपयोग करता हूं, और कॉमोडो मेरी स्थानीय मशीन पर संपादित करता हूं। यह कैथर्टिक रहा है, फिर कभी 'विम' को छूना नहीं। – TechZilla

+2

सी के लिए कोड रिफैक्टरिंग? Coccinelle: http: //coccinelle.lip6।fr/ – ninjalj

उत्तर

4

मुझे नहीं लगता कि शुद्ध कंसोल रिफैक्टरिंग टूल का उपयोग करना अच्छा होगा।
मैं सी-कोड लिखने और रिफैक्टर करने के लिए लिनक्स पर एक्लिप्स सीडीटी का उपयोग करता हूं।
Emacs http://www.xref.sk/xrefactory/main.html

के लिए Xrefactory भी मौजूद है यदि एक गैर कंसोल रिफैक्टरिंग टूल आपके लिए भी ओ.के. है।

+0

... मुझे ग्रहण से नफरत है, मैं एक कमोडो लड़का हूं। इसके साथ कहा ... आपका एकमात्र ऐसा व्यक्ति जिसने वास्तव में मेरे प्रश्न का उत्तर देने का प्रयास किया था। इसलिए जब वे मेरे लिए एक महान फिट नहीं हो सकते हैं, तो वे लिनक्स पर चलते हैं। – TechZilla

0

आप एक जीसीसी प्लगइन या एक MELT विस्तार कोडिंग विचार कर सकते हैं अपनी आवश्यकताओं के लिए (पिघल जीसीसी विस्तार करने के लिए एक डोमेन विशिष्ट भाषा है)।

हालांकि, इस तरह के दृष्टिकोण में आपको कुछ समय लगेगा, क्योंकि आपको कुछ जीसीसी आंतरिकों को समझने की आवश्यकता होगी।

0

Windows के लिए केवल, और नहीं FOSS लेकिन आप ने कहा, "किसी भी दिशा ..."

हमारी अपनी C Front End सी स्रोत कोड के लिए आवेदन कर सकते हैं परिवर्तनों के साथ DMS Software Reengineering Toolkit"। डीएमएस को कस्टम, जटिल विश्वसनीय रूपांतरणों को करने के लिए कॉन्फ़िगर किया जा सकता है, हालांकि कॉन्फ़िगरेशन केवल "कमांडर फ्रैज़ल द्वारा डूबाज़" जैसे कमांड टाइप करने जितना आसान नहीं है।

प्रिंसिपल स्टम्बलिंग ब्लॉक में से एक अभी भी प्रीप्रोसेसर है। डीएमएस कोड को बदल सकता है जिसमें विशिष्ट स्थानों में प्रीप्रोसेसर निर्देश होते हैं (बयान के सिर, घोषणाओं, अगर/लूप के सिर, घोषणाओं आदि के दौरान), लेकिन अन्य "असंगठित सशर्त" इसे परेशानी देते हैं। आप अस्तित्व से प्रीप्रोसेसर निर्देशों का विस्तार करके, या अधिक अपमानजनक रूप से विस्तार करके डीएमएस चला सकते हैं, जो इसे परेशानी देते हैं, लेकिन अधिकतर लोग इसे पसंद नहीं करते हैं क्योंकि वे अपने प्रीप्रोसेसर निर्देशों को रखना पसंद करते हैं। तो यह सही नहीं है।

[एक अन्य जवाब ने कंसिनेल का सुझाव दिया, जो मेरे दृष्टिकोण से बहुत अच्छा दिखता है। जहां तक ​​मुझे पता है, यह प्रीप्रोसेसर निर्देशों को बिल्कुल संभाल नहीं करता है; मैं गलत हो सकता हूं और यह कुछ मामलों को संभाल सकता है क्योंकि डीएमएस करता है, लेकिन मुझे यकीन है कि यह सभी मामलों को संभाल नहीं सकता है]।

आप खुद को रोल करने पर विचार नहीं करना चाहते हैं। एक रूपांतरण/रीफैक्टरिंग टूल बनाना आपके अनुमान लगाए जाने से कहीं अधिक कठिन है। आपको (सी) ब्याज की बोली के लिए पूर्ण, सटीक पार्सर्स की आवश्यकता है और केवल सही होने के लिए यह बहुत मुश्किल है। आपको प्रीप्रोसेसर, प्रतीक टेबल, प्रवाह विश्लेषण, परिवर्तन, कोड पुनर्जन्म मशीनरी की आवश्यकता है ... इस सामान को बनाने और सही होने के लिए कई वर्षों का प्रयास लगता है। मेरा विश्वास करो, वहां गया, ऐसा किया।

+0

यह '... किसी भी दिशा ...' के संदर्भ से काफी स्पष्ट है, कि मैं अपनी निर्दिष्ट आवश्यकताओं के प्रति किसी भी दिशा का जिक्र कर रहा था। सवाल कभी भी "मुझे * किसी भी * रिफैक्टरिंग टूल को खोजने में मदद नहीं करता था"। इसके अलावा ... जब मैंने कहा 'अपना खुद का रोल', मैं अपने स्वयं के समाधान 'रोलिंग' के बारे में बात कर रहा था। समस्या का ख्याल रखना, संभवतः कुछ खोल स्क्रिप्ट बनाकर, मैं कभी भी एक संपूर्ण रिफैक्टरिंग प्रोजेक्ट बनाने पर विचार नहीं करूंगा। मैं बस उस स्तर पर नहीं हूं, और मैं इसे बहुत लंबे समय से जानता हूं। – TechZilla

+0

@TechZilla: जब आप "कोई दिशा" कहते हैं, तो आप एक बहुत व्यापक नेट डालें। जब मैं किसी को "रोल" (स्वयं का) कहता हूं, तो मैं महत्वपूर्ण प्रयास के साथ "कुछ बनाने के इच्छुक" के रूप में व्याख्या करता हूं; मैंने उस व्याख्या का जवाब दिया। मुझे लगता है कि अन्य लोग भी करते हैं। [एफडब्ल्यूआईडब्ल्यू, डीएमएस लिनक्स पर शराब के तहत ठीक चल रहा है, लेकिन लिनक्स के अधिकांश उपयोगकर्ता उस समाधान से घृणा करते हैं।] –

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