2009-07-06 12 views
7

मुझे सी ++ के साथ तेजी से बढ़ने की आवश्यकता है (मैंने पहले कभी इसका उपयोग नहीं किया है) - विजुअल स्टूडियो (यानी प्रबंधित सी ++) के माध्यम से सीख रहा है? या क्या मैं VS में C++ के एक्सटेंशन और idiosyncracies सीखना समाप्त कर दूंगा, बल्कि भाषा ही?विजुअल स्टूडियो में स्क्रैच से सी ++ सीखना?

यदि वीएस में सीखना अनुशंसित नहीं है, तो आप कौन सा मंच/आईडीई सुझाव देते हैं?

संपादित करें: क्या कोई भी बता सकता है कि वीएस अप्रबंधित सी ++ कोडिंग करते समय मेरे लिए क्या छुपाएगा या प्रबंधित करेगा? मुझे वास्तव में पॉइंटर्स, कचरा संग्रह और निम्न स्तर की भाषा के सभी नट्स और बोल्ट जैसी चीजें सीखने की ज़रूरत है .. क्या वीएस अमूर्त है या आपसे इस तरह की किसी भी चीज को छुपाता है?

सभी सुझावों के लिए धन्यवाद ..

उत्तर

15

विजुअल स्टूडियो (या मुफ्त संस्करण, विजुअल सी ++ एक्सप्रेस) विंडोज पर बिल्कुल सही विकल्प है। लिनक्स पर, आप शायद जीसीसी का उपयोग कर समाप्त कर देंगे। दोनों ठीक कंपाइलर हैं।

विज़ुअल सी ++ प्रबंधित "नेट" मूल सी ++ और सी ++/सीएलआई, प्रबंधित .NET संस्करण दोनों का समर्थन करता है, इसलिए यदि आप सी ++ सीखना चाहते हैं, तो बस एक नियमित सी ++ प्रोजेक्ट बनाएं।

यदि आप "उचित" मानक सी ++ सीखने से चिंतित हैं, तो ध्यान दें कि डिफ़ॉल्ट रूप से संकलक कई Microsoft एक्सटेंशन सक्षम करता है, जिन्हें आप अक्षम करना चाहते हैं। (परियोजना गुण -> सी/सी ++ -> भाषा -> भाषा एक्सटेंशन अक्षम करें)।

रिकॉर्ड के लिए, जीसीसी में समान एक्सटेंशन हैं (जिसे कंपाइलर को --ansi के साथ कॉल करके अक्षम किया जा सकता है), इसलिए यह माइक्रोसॉफ्ट केवल बड़ा और बुरा और गैर मानक नहीं है। ;)

+0

अच्छी प्रतिक्रिया, बहुत स्पष्ट, धन्यवाद – flesh

+0

ठीक है लेकिन विजुअल स्टूडियो कई टेम्पलेट्स प्रदान करता है जो बहुत सारे कचरे को जोड़ते हैं परियोजना। विजुअल स्टूडियो के साथ बस एसटीएल सी ++ सीखने के लिए, क्या हमें एक विशिष्ट टेम्पलेट स्थापित करने या मौजूदा में से किसी एक का उपयोग करने की आवश्यकता है? – xus

+1

यह टेम्पलेट्स भी प्रदान करता है जो परियोजना में * कुछ नहीं * जोड़ते हैं। बस Win32 C++ प्रोजेक्ट बनाएं, और विवरण संवाद में, 'खाली प्रोजेक्ट' विकल्प देखें – jalf

3

दृश्य स्टूडियो जरूरी प्रबंधित नहीं है C++। आप इसे उस विकल्प से संकलित कर सकते हैं, लेकिन यह आवश्यक नहीं है।

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

3

यह सब निर्भर करता है, पहला कदम कुछ किताबें, कुछ मूलभूत, और कुछ उन्नत लोगों जैसे प्रभावी सी ++ पढ़ने के लिए होगा।

प्रबंधित सी ++ शुद्ध सी ++ के लिए एक बहुत ही अलग जानवर है, इसके अलावा वीएस आपको शुद्ध सी ++ में प्रोग्राम करने देता है। इसलिए, यदि आपका लक्ष्य शुद्ध सी ++ सीखना है, तो मुझे नहीं लगता कि आपको प्रबंधित एक्सटेंशन सीखना होगा।

क्या आप विस्तार से बता सकते हैं कि आपको सी ++ सीखने की आवश्यकता क्यों है? आप किस प्रकार की परियोजना पर काम करेंगे?

विजुअल स्टूडियो, इसकी इंटेलिजेंस और सहायता के साथ एक भाषा सीखने के लिए एक बहुत अच्छा मंच है।

6

विजुअल स्टूडियो IDE कई भाषाओं के साथ प्रयोग किया जा सकता है: उदाहरण के लिए सी #, प्रबंधित सी ++, और भी वास्तविक (अप्रबंधित) सी ++, तो:

  1. आप वास्तविक सी के लिए वी.एस. उपयोग कर सकते हैं ++ ही नहीं, "प्रबंधित" सी ++ के लिए।
  2. यदि आप केवल सी ++ सीखना चाहते हैं, तो आप सही हैं, आप "प्रबंधित" सी ++ सीखना नहीं चाहते हैं।
+0

धन्यवाद क्रिस - क्या मैं सोच रहा हूं कि 'विज़ुअल सी ++' सीधे अप्रबंधित सी ++ है? – flesh

+0

"विजुअल सी ++" आमतौर पर उन उत्पादों की पहचान करने के लिए उपयोग किया जाता है जो मानक सी ++ या माइक्रोस्कोफ्ट सी ++/सीएलआई भाषा – MSalters

+0

@flsh के साथ संयोजन में विजुअल स्टूडियो आईडीई का उपयोग करते हैं यदि मैं 'विज़ुअल सी ++' (उदाहरण के लिए नौकरी विज्ञापन में) पढ़ता हूं तो मैं चाहता हूं मान लें कि यह मानक सी ++ है, वीएस आईडीई, और माइक्रोसॉफ्ट/विंडोज एपीआई का उपयोग कर। – ChrisW

3

ग्रहण एक उत्कृष्ट आईडीई है जो सी ++ समेत कई भाषाओं के साथ काम करता है। ग्रहण सीडीटी यहां पाया जा सकता है: http://www.eclipse.org/cdt/

2

मेरा स्वयं का अनुभव: प्रोग्रामिंग में मेरा पहला प्रयास वीएस में सी ++ था। सिंटैक्स सीखना अपेक्षाकृत सरल था, लेकिन संकलन/लिंकिंग/आदि के साथ पकड़ने के लिए आ रहा था। जब तक मैं आईडीई से बाहर नहीं जाता तब तक और अधिक दर्दनाक था। उन विवरणों को मोटे तौर पर आपके लिए छुपा/छुपाया जाता है।

यह कहकर कि, यदि आप एक अनुभवी प्रोग्रामर हैं, और विशेष रूप से यदि आपका लक्ष्य वीएस में (+ काम या विद्यालय के माहौल में, उदाहरण के लिए) में सी ++ के साथ काम करना है, तो यह एक व्यवहार्य त्वरित-प्रारंभ विकल्प है।

+0

क्या आप विस्तार से बता सकते हैं कि कौन से विवरण छिपाए गए हैं? मुझे वास्तव में पॉइंटर्स, मेमोरी मैनेजमेंट और सी ++ की गड़बड़ी के साथ पकड़ने की ज़रूरत है - संभवतः इस सामान में से कोई भी आपके से छिपा हुआ नहीं है? – flesh

+0

(हा - मुझे यकीन नहीं है कि मैं आपको सिखाने के लिए सबसे अच्छा हूं। अभी भी मुझसे छिपा हुआ है।) वीएस आपके से सी ++ की हिम्मत नहीं छिपाता है; जैसा कि आप कमांड लाइन पर करते हैं, आपको आईडीई में उतनी ही रस्सी मिलती है। ये अच्छी बात है; यह अन्यथा सी ++ नहीं होगा। जो मैं जिक्र कर रहा था वह यह तथ्य था कि कोड और निष्पादन योग्य के बीच बहुत कुछ होता है। जब मैं पहली बार वीएस का उपयोग कर रहा था, तो मेरे पास "मेकफ़ाइल" (या समकक्ष) की कोई अवधारणा नहीं थी, और मैंने सोचा कि "संकलन" का अर्थ "पुश एफ 5" था। आखिरकार, आप जानना चाहेंगे कि उस पर्दे के पीछे क्या है, भले ही आप आईडीई में काम करना जारी रखें। – TSomKes

+0

कूल, धन्यवाद tsom – flesh

0

सी ++ के लिए मुझे बोर्लैंड कंपाइलर्स http://www.turboexplorer.com/ पर उपयोग किया गया। कंपाइलर्स के बीच अंतर वे पुस्तकालयों में हैं जो वे उपयोग करते हैं (डीएलएस और इसमें शामिल हैं, लेकिन उनमें से कुछ मानक हैं)। मैंने देवसी ++ (एक फ्री कंपाइलर http://www.bloodshed.net/devcpp.html) से शुरुआत की और मुझे यह भी पसंद आया। भाषा एक ही है। लेकिन सबसे अच्छा है कि विभिन्न कंपाइलर्स को आजमाएं और सबसे ज्यादा पसंद करें।

और सी ++ सीखने के लिए सबसे अच्छा बुद्धिमान कंसोल अनुप्रयोग शुरू कर रहा है।

+1

क्षमा करें, लेकिन बोर्लैंड कंपेलरों के मानक के लिए बहुत सारे समर्थन की कमी है, वे छोटी हैं, कुछ सामान बस उनके साथ काम नहीं करते हैं। यह वह दुःस्वप्न है जिसे मैं वास्तव में अपने काम में सामना कर रहा हूं, पुराने क्रैपी कोड से छुटकारा पा रहा हूं जो कुछ "गैर-मानक" तरीके से बनाया गया था जो बोर्लैंड ने अपने कंपाइलर को बनाया था। यदि वह पर्याप्त नहीं था, तो उनके कंपाइलर, लिंकर और आईडीई वास्तव में छोटी हैं। मुझे इसे दिन में कई बार फिर से खोलना होगा। –

0

++ कामयाब ग पर MSDN के शब्दों में:

सी ++ के लिए प्रबंधित एक्सटेंशन बनाया गया था बिना सी ++ भाषा का विस्तार करने के लिए, आप .NET फ्रेमवर्क और लक्ष्य आम भाषा क्रम उपयोग करने के लिए अनुमति देता है एक नया प्रोग्रामिंग भाषा सीखें।

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

0

यदि आप केवल सादा सी ++ सीखना चाहते हैं और किसी और चीज का न्यूनतम हिस्सा सीखना चाहते हैं। मैं सिग्विन और जीसीसी/जी ++ स्थापित करने का सुझाव दूंगा। साइगविन को पुन: संक्रमित करने का कारण यह है कि ऐसा लगता है कि आप विंडोज़ का उपयोग कर रहे हैं। अन्यथा यदि आप * निक्स प्रकार प्रणाली का उपयोग कर रहे हैं तो आपके पास पहले से ही जीसीसी होना चाहिए।

आपको बस अपने पसंदीदा संपादक और संकलन में अपनी सी ++ फ़ाइलों को बनाने की आवश्यकता होगी। आपको अभी भी सीखना होगा कि जीसीसी का उपयोग कैसे करें और संभवतः फाइलें बनाएं (विशेष रूप से यदि आप एक गैर-मामूली परियोजना बना रहे हैं) लेकिन शायद सी ++ सीखने के लिए आपके पास न्यूनतम न्यूनतम सेटअप हो सकता है।

+1

आपके पास "न्यूनतम न्यूनतम" की एक अजीब परिभाषा है। मैं कहूंगा कि वीसी ++ एक्सप्रेस (फ्री, एक सिंगल एप्लिकेशन) स्थापित करना सिगविन + कंपाइलर + मेक + से कहीं अधिक सरल है, जो उस रूट पर जाने पर आपको चाहिए। – jalf

+0

क्या आपने साइगविन का उपयोग किया है?यह एक के लिए जटिल नहीं है। उनके सभी मुद्दों में से दूसरा अधिष्ठापन नहीं सीख रहा है (ओपी पढ़ें)। सिग्विन के साथ उसे सीखने की जरूरत है कि कंपाइलर का उपयोग कैसे करें। आईडीई का उपयोग करते समय आपको संकलन करने के तरीके से ज्यादा सीखना होगा। मैं आईडीई के खिलाफ वकालत नहीं कर रहा हूं जिसका उपयोग मैं स्वयं ग्रहण करता हूं। मैं बस अपने प्रश्न – hhafez

+1

का जवाब देने की कोशिश कर रहा हूं यूनिक्स जैसी प्रणाली (जैसे लिनक्स या मैक ओएसएक्स) पर, जी ++ का उपयोग करें। विंडोज़ पर, मुझे वीएस का उपयोग न करने का कोई कारण नहीं दिखता है। सिगविन में, आपको बस संकलन करने के तरीके से अधिक जानने की आवश्यकता है, जैसे आपको वीएस के बारे में कुछ सीखना है। –

8

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

दृश्य स्टूडियो बहुत पहले कंसोल प्रोजेक्ट बनाने से Microsoft बारीकियों के साथ इस बात पर जोर (New-> परियोजना> Win32 कंसोल अनुप्रयोग)

// test123.cpp : Defines the entry point for the console application. 
// 

#include "stdafx.h" 


int _tmain(int argc, _TCHAR* argv[]) 
{ 
    return 0; 
} 

stdafx.h क्या है? _tmain क्या है? _TCHAR क्या है? (बीटीडब्ल्यू को यहां जवाब देने की आवश्यकता नहीं है) ये सवाल हैं जो नौसिखिया के सिर में नहीं दिखना चाहिए।

यही कारण है कि मैं Win32 कंसोल एप्लिकेशन प्रोजेक्ट में "खाली प्रोजेक्ट" चेकबॉक्स का उपयोग करने का सुझाव देता हूं और फिर प्रोजेक्ट मेनू से "नया आइटम जोड़ें" चुनें और एक सीपीपी फ़ाइल चुनें जो आपको एक खाली पृष्ठ देगा जहां आप कार्यान्वित कर सकते हैं कोड जिसे आप एक अच्छी सी ++ पुस्तक से पढ़ते हैं।

0

मुझे सी ++ के साथ तेजी से तेजी से उठने की आवश्यकता है (मैंने पहले कभी इसका उपयोग नहीं किया है) - विजुअल स्टूडियो (यानी प्रबंधित सी ++) के माध्यम से सीखना किसी भी उपयोग के लिए जा रहा है? या क्या मैं VS में C++ के एक्सटेंशन और idiosyncracies सीखना समाप्त कर दूंगा, बल्कि भाषा ही?

आपको प्रबंधित सी ++ और वीएस के बीच भ्रमित नहीं होना चाहिए। आप विजुअल स्टूडियो में भी अप्रबंधित (सत्य) सी ++ कोड कर सकते हैं। विजुअल स्टूडियो सिर्फ एक आईडीई है।

यदि वीएस में सीखना अनुशंसित नहीं है, तो आप कौन सा मंच/आईडीई सुझाव देते हैं? संपादित करें: क्या कोई भी अप्रबंधित सी ++ कोडिंग करते समय वीएस छुपाएगा या मेरे लिए प्रबंधन करेगा? मुझे वास्तव में पॉइंटर्स, कचरा संग्रह और निम्न स्तर की भाषा के सभी नट्स और बोल्ट जैसी चीजें सीखने की ज़रूरत है .. क्या वीएस अमूर्त है या आपसे इस तरह की किसी भी चीज को छुपाता है?

किसी भी अन्य आईडीई की तरह वीएस आपके द्वारा संकलित और लिंकिंग चरणों जैसे सामान छुपाएगा। लेकिन यह आपके द्वारा किसी भी भाषा की विशेषताएं छिपाएगा। हां आप वीएस के साथ पॉइंटर्स और अन्य निम्न स्तर की चीजें सीख सकते हैं। अप्रबंधित सी ++ कचरा संग्रह का समर्थन नहीं करता है। लेकिन यदि आप एक नौसिखिया हैं और आप जल्दबाजी में नहीं हैं, तो सबसे अच्छा तरीका टेक्स्ट एडिटर, एक कंपाइलर और डीबगर और कोड लेना है। g ++, gdb और emacs/vi शुरुआती के लिए वीएस के लिए एक बेहतर प्रतिस्थापन होगा। आप वास्तव में महसूस करेंगे कि चीजों को कैसे संकलित किया जाता है, लिंक किया जाता है और आखिर में बाइनरी बन जाती है। लेकिन इसमें समय लगेगा और उपकरणों के साथ मार्गदर्शन करने के लिए मार्गदर्शन की आवश्यकता हो सकती है। वीएस के साथ आप मिनटों में हो सकते हैं। यदि आपका उद्देश्य सी ++ भाषा वाक्यविन्यास और विशेषताओं को सीखना है, तो आगे बढ़ें वीएस और कोड में एक नया खाली वीसी ++ प्रोजेक्ट बनाएं।

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