2009-05-19 4 views
14

क्या परियोजनाओं के निर्माण के बिना विजुअल स्टूडियो में छोटे सी ++ प्रोग्राम बनाने/चलाने का कोई तरीका है?प्रोजेक्ट बनाने के बिना विजुअल स्टूडियो में छोटे सी ++ प्रोग्राम चला रहे हैं

उदाहरण के लिए, यदि मेरे पास hello.cpp फ़ाइल है, तो क्या मैं इसे बिना किसी परियोजना के hello.exe पर संकलित कर सकता हूं?

+3

क्या आप केवल cl (http://msdn.microsoft.com/en-us/library/9s7c9wdw(VS.71).aspx) का उपयोग कर सकते हैं और बना सकते हैं या nmake (http://msdn.microsoft.com/en -US/पुस्तकालय/dd9y37ha (VS.71) .aspx)? –

+0

जी धन्यवाद, लेकिन क्या आप किसी भी तरह से VS2008 आईडीई में कमांड लाइन/मेक/एनमेक का सहारा ले सकते हैं? क्या आप कोई छोटी आईडीई सुझा सकते हैं जो मेरी मदद करेगी? बेस्ट विनर्ड्स – user109134

+1

निश्चित रूप से, ऐसे बहुत सारे आईडीई हैं जिनका उपयोग आप इसके लिए कर सकते हैं, केवल विजुअल स्टूडियो नहीं। कोड :: ब्लॉक (http://www.codeblocks.org/) आज़माएं। –

उत्तर

7

एक 'सैंडबॉक्स' परियोजना होने के GMan's idea, एक अच्छा एक है। मैं अपना "cppTest" कहता हूं।

हालांकि, अगर आप अभी जो कुछ भी सी या सी ++ फ़ाइल आपके द्वारा खोली गई हो, बस एक साधारण "बाहरी उपकरण" बनाने के संकलित करने के लिए सक्षम होने के लिए चाहते हैं। असल में, यह उतना आसान नहीं है जितना संभवतः होना चाहिए।

सबसे पहले, एक बैच फ़ाइल है कि संकलक वातावरण की स्थापना की और संकलक चलेंगे पैदा करते हैं। निम्नलिखित की तरह कुछ:

@rem - runcl.cmd 
@rem  a batch file to drive simple VC9 compiles 
#rem 
@echo off 

set LIBRARIES=kernel32.lib user32.lib advapi32.lib shlwapi.lib oleaut32.lib 
set WIN32_WINNT=0x0500 

call "%ProgramFiles%\Microsoft Visual Studio 9.0\Common7\Tools\vsvars32.bat" 

echo Visual C/C++ 2008 (VC 9.0) Compile... 
set CC="%ProgramFiles%\Microsoft Visual Studio 9.0\VC\bin\cl.exe" /Zi /EHsc -D_WIN32_WINNT=%WIN32_WINNT% %1 /link /incremental:no %LIBRARIES% 
echo %CC% 
%CC% 

में "उपकरण/बाहरी उपकरण ..." संवाद, एक नया आइटम जोड़ सकते हैं और निम्नलिखित फ़ील्ड भरें:

  • शीर्षक: &Compile File
  • कमान: c:\path\to\runcl.cmd
  • तर्क: $(ItemPath)
  • प्रारंभिक निर्देशिका: $(ItemDir)

  • जांच "आउटपुट विंडो का प्रयोग करें" बॉक्स

अब आप संकलित करने के लिए जो कुछ भी वर्तमान में खुले फ़ाइल है टूल मेनू में "फ़ाइल संकलित" आइटम का उपयोग कर सकते हैं। आप त्रुटियों वाली लाइनों पर ले जाने के लिए आउटपुट विंडो में त्रुटियों पर भी डबल क्लिक कर सकते हैं।

इनमें से कुछ सीमाएं हैं जिनमें से आप बैच फ़ाइल को फैंसी करके या शायद विजुअल स्टूडियो मैक्रो (मैं वीएस मैक्रोज़ से बहुत परिचित नहीं हूं) के साथ कुछ सीमाएं तय कर सकता हूं।

  1. यदि आपने फ़ाइल को सहेजा नहीं है, तो संकलन सबसे हालिया सहेजने के खिलाफ चलाएगा। सहेजने के लिए बाहरी उपकरण कॉन्फ़िगरेशन में कोई विकल्प नहीं है।
  2. यदि आप आदेश चला और वहाँ एक सी या सी ++ फ़ाइल सक्रिय नहीं है, बैच फ़ाइल
  3. से अधिक
  4. वहाँ शायद काफी कुछ अन्य क्षेत्रों में जहां बैच फ़ाइल भ्रमित हो रहे हैं गिर जाएगी

अच्छा इस तरह की बैच फ़ाइल के बारे में बात यह है कि आप इसे विभिन्न संपादकों में कंपाइलर को एकीकृत करने में सहायता के लिए भी उपयोग कर सकते हैं जो आपको बाहरी उपकरण जैसे अल्ट्राएडिट, ज़ीउस संपादक, एडिटपैड प्रो, पीएसपीएड, प्रोग्रामर नोटपैड इत्यादि को कॉल करने देता है।

यदि आप चाहें, तो मैंने बैच फ़ाइल पोस्ट की है जिसे मैं उपरोक्त जैसे संपादकों में कई कंपाइलरों को एकीकृत करने के लिए उपयोग करता हूं। यह बैच फ़ाइल संस्करण 6 से संस्करण 9, डिजिटल मंगल, मिनजीडब्ल्यू और कॉमौ कंपाइलर्स के माध्यम से विभिन्न एमएसवीसी कंपाइलर्स सहित कई कंपाइलर्स को संभालती है (उपयोग करने के लिए कंपाइलर को अतिरिक्त पैरामीटर द्वारा चुना जाता है)। बैच फ़ाइल बहुत मजबूत है (दुर्भाग्य से, यह विंडोज बैच फ़ाइलों की प्रकृति है जिसमें किसी भी तरह की जटिलता है)। लेकिन मुझे लगता है कि यह विभिन्न संपादकों से इन चीजों को बहुत सरल बना देता है। मैं जल्दी से कुछ कुंजियों को हिट कर सकता हूं जिन्हें मैंने 5 अलग-अलग कंपाइलरों के खिलाफ एक फ़ाइल को संकलित करने के लिए कंपाइलर्स को सौंप दिया है, इसलिए मैं आसानी से संगतता के लिए परीक्षण कर सकता हूं।

मैं इसके बारे में कोई वादा नहीं करता हूं, इसके अलावा मुझे अपने उद्देश्यों के लिए उपयोगी लगता है - यदि आप भी बहुत अच्छा करते हैं। अन्यथा, यह है का उपयोग नहीं करते ...

8

वास्तविक आईडीई के भीतर, मैं इसे एक छोटे से कार्यक्रम चलाने के लिए संभव है नहीं लगता है, तो आप मैट की तरह का सुझाव दिया कमांड लाइन का उपयोग करना होगा।

समाधान मैं इस समस्या के लिए है, मैं अपने कंप्यूटर "सैंडबॉक्स" कहा जाता है, जो सिर्फ एक main.cpp है पर एक परियोजना है कि है, और यह है, जहां मैं चारों ओर छेड़छाड़ न कर सके है।

यह जाने मुझे चीजों को यहाँ और वहाँ की कोशिश, लेकिन मैं एक नई परियोजना शुरू करने को रखने के लिए की आवश्यकता नहीं है। के रूप में यह आसानी से बहु फ़ाइल परीक्षण आज़माने के लिए अनुमति देता है

+0

मिस्त्री दबाकर ctrl + v, ctrl + f9 :) – user109134

+3

कभी-कभी "कोड को फेंक दें" बाद में मददगार साबित होता है, और यदि आप ऐसा करते हैं तो आपने इसे वास्तव में दूर कर दिया है। –

+1

मेरा व्यक्तिगत समाधान केवल टेस्ट एप्लिकेशन प्रोजेक्ट्स के साथ एक टेस्ट फ़ोल्डर होना है जो थोड़ा मुख्य कार्य या अधिक हो सकता है। इस तरह मेरे पास प्रत्येक टेस्ट नाम है। एमएसवीसी में एक सरल कंसोल प्रोग्राम बनाना लगभग 2 सेकंड (+ परियोजना का नाम टाइप करने का समय) लेता है। – Klaim

0

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

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