विंडोज के लिए सी संकलक? [बन्द है]


125

मैं अपने सी संकलक के रूप में gcc का उपयोग करके लिनक्स पर काम कर रहा हूं, लेकिन एक विंडोज समाधान चाहूंगा। कोई विचार? मैंने रक्तपात से देव-सी ++ देखा है, लेकिन अधिक विकल्पों की तलाश में है।


2017 में शुरू किए गए लिनक्स के लिए विंडोज सबसिस्टम की जाँच करें। इससे आप विंडोज पर सही तरीके से देशी लिनक्स उपकरण चला सकते हैं। देखें: docs.microsoft.com/en-us/windows/wsl/install-win10 , और howtogeek.com/249966/…
Evan Rosica

जवाबों:


79

आप Windows पर GCC का उपयोग MingW ( बंद ) या इसके उत्तराधिकारी Mingw- w64 को डाउनलोड करके कर सकते हैं ।


1
stackoverflow.com/questions/29205033/… - लेकिन विंडोज में MinGW का उपयोग करने से LibVLC और Gstreamer की समस्याओं को हल करने की समस्या हल नहीं होती है। MinGW का उपयोग करके निष्पादनयोग्य को क्रैश करें। क्या कोई बेहतर उपाय है?

1
जबकि मिंगव एक शानदार प्रोजेक्ट है, यह मुझे तब शोभा नहीं देता जब मैं विंडोज एक्जीक्यूट को संकलित करना चाहता था। लिनक्स में।
विजय कुमार कांता

36

यदि आप Win32 को लक्षित करना चाहते हैं, तो आप Microsoft से सीधे Visual C ++ एक्सप्रेस संस्करण प्राप्त कर सकते हैं । अन्यथा न्यूनतम या कम, जैसा कि कहीं और सुझाव दिया गया है।


3
विजुअल स्टूडियो बढ़िया है, लेकिन अगर वे क्लास में linux / gcc का उपयोग कर रहे हैं तो यह शायद सबसे अच्छा विकल्प नहीं है।
जोएल कोएहॉर्न

1
समस्या यह है कि C और C ++ अलग-अलग भाषाएँ हैं। C कोड हमेशा C ++ में काम नहीं करता है।
क्लोच

9
मेरा मानना ​​है कि विजुअल C ++ में C- मोड कंपाइलर भी है।
एलेक्स एम।

4
Stroustrup इसे यहाँ स्पष्ट करता है: public.research.att.com/~bs/bs_faq.html#C-is-subset मुझे लगता है कि सबसे खराब हिस्सा आकार () चार्ट और स्याही के लिए बेमेल है, साथ ही C ++ में जोड़े गए कीवर्ड।
एलेक्स एम।

17
जैसा कि @Richard ने टिप्पणियों में कहा: VC ++ में C99 सुविधाओं का अभाव है।
JFS

23

जीसीसी सर्वव्यापी है। यह दर्जनों समुदायों के हजारों लोगों द्वारा विश्वसनीय और अच्छी तरह से समझा जाता है।

विजुअल स्टूडियो शायद अब तक का सबसे बेहतर आईडीई है। इसके नीचे एक शानदार कंपाइलर है। लेकिन यह सख्ती से केवल विंडोज है।

यदि आप केवल खेल रहे हैं, तो जीसीसी - निशुल्क प्राप्त करें। यदि आप कई प्लेटफ़ॉर्म के बारे में चिंतित हैं, तो यह जीसीसी है। यदि आप गंभीर विंडोज विकास की बात कर रहे हैं, तो विजुअल स्टूडियो प्राप्त करें।


अब Visual Studio Codeवही प्लेटफ़ॉर्म है जो कमोबेश उसी कार्यक्षमता के साथ है।
Dr_Zaszuś

19

आप हमेशा केवल साइबर के माध्यम से जीसीसी का उपयोग कर सकते हैं।


13
यह आपके ऐप को मेरी राय में साइगविन डीएलएल के लिए बाध्य करता है, जो वास्तव में परेशान है।
एलेक्स एम।

मैं सहमत हूं, लेकिन यदि एप्लिकेशन में इंस्टॉलर है तो dll को बंडल कर सकता है।
UnwwnTech

13
साइबरविन के तहत संकलन करते समय --mno-cygwin विकल्प का उपयोग करें। यह MinGW बायनेरिज़ को संकलित करता है; कोई Cygwin DLL की जरूरत है।
कॉलिन

5
-mno-cygwinअब समर्थित नहीं है - अपने प्लेटफ़ॉर्म के लिए उपयुक्त MinGW क्रॉस-कंपाइलर पैकेज स्थापित करें
Christoph

17

विंडोज के लिए एक और मुफ्त सी कंपाइलर है: पेल्स सी।

Pelles C विंडोज और विंडोज मोबाइल के लिए एक पूर्ण विकास किट है। इसमें अन्य चीजों में एक अनुकूलन सी कंपाइलर, एक मैक्रो असेंबलर, एक लिंकर, एक संसाधन संकलक, एक संदेश संकलक, एक उपयोगिता बनाने और विंडोज और विंडोज मोबाइल दोनों के लिए बिल्डरों को स्थापित करना शामिल है। इसमें परियोजना प्रबंधन, डिबगर, स्रोत कोड संपादक और संवाद, मेनू, स्ट्रिंग टेबल, त्वरक टेबल, बिटमैप, आइकन, कर्सर, एनिमेटेड कर्सर, एनीमेशन वीडियो (AVI के बिना ध्वनि) के लिए संसाधन संपादक के साथ एक एकीकृत विकास वातावरण (आईडीई) शामिल है, संस्करण और XP प्रकट होते हैं।

URL: http://www.smorgasbordet.com/pellesc/


12

मैं व्यक्तिगत रूप से कोड ब्लॉक आईडीई के साथ मिनगव (क्या रक्तपात का उपयोग करता है) का उपयोग कर रहा हूं ।

मैं डिजिटल मंगल C / C ++ कंपाइलर का उपयोग करने पर भी विचार कर रहा हूं ।

दोनों ही काफी अच्छे लग रहे हैं।


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

8

आप कोड की कोशिश कर सकते हैं :: ब्लॉक , जो बेहतर आईडीई है और मिनगव जीसीसी के साथ आता है! मैंने इसका इस्तेमाल किया है और इसकी बहुत अच्छी फ्रीवेयर IDE C / C ++ के लिए है।


@zeboidlund, और पोस्ट winxp संस्करण क्या है?
पचेरियर

8

जीसीसी तकनीकी रूप से एक लिनक्स विशिष्ट संकलक नहीं है। इसके मानकों का अनुपालन c / c ++ कंपाइलर करता है, और मैं इसे दैनिक आधार पर विंडोज़ प्रोग्राम के लिए उपयोग करता हूं। इसका शायद सबसे अच्छा है कि आप इसका उपयोग तब तक करें जब तक आप किसी और चीज़ के साथ अधिक सहज नहीं हो जाते।

मेरा सुझाव है कि आप जीसीसी के मिनगव वितरण का उपयोग करें। यह एक मानक पुस्तकालय आदि का उपयोग करते हुए, विंडोज़ के लिए आपके कार्यक्रमों को मूल रूप से संकलित करेगा।

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

मैं व्यक्तिगत रूप से जीसीसी को पसंद करता हूं, लेकिन यह सिर्फ मुझे है। यदि आप वास्तव में Microsoft समाधान चाहते हैं, तो वीएस जाने का रास्ता है।


7

MinGW विंडोज़ के लिए gcc का सीधा अनुवाद होगा, या आप IDE के साथ LCC , वैनिला c (अधिक या कम) की जांच कर सकते हैं । Pelles C, lcc पर आधारित प्रतीत होता है और इसमें कुछ हद तक अच्छे IDE होते हैं, हालांकि मैंने इसे व्यक्तिगत रूप से उपयोग नहीं किया है। बेशक MSVC का हमेशा एक्सप्रेस संस्करण है जो मुफ़्त है, लेकिन यह आपकी कॉल है।


6

अधिकांश विश्वविद्यालय आपको Microsoft Dreamspark तक पहुँच प्रदान करते हैं ।

यदि आप कक्षा में GCC / Linux का उपयोग कर रहे हैं, तो बस Ubuntu स्थापित करें । विंडोज सी विकास के लिए एक भयानक मंच है।


16
विंडोज सभी विकास के लिए एक भयानक मंच है । तय है कि फिर के लिए।
notbad.jpeg

4
यह Visual Basic के लिए सबसे अच्छा विकल्प है, आप इससे इनकार नहीं कर सकते!
rlms 13

1
@sweeneyrod: शराब के लिए ऐप्स विकसित करने के लिए VB का उपयोग करना उचित होगा, यह बहुत अच्छा होगा।
मैट जॉइनर

विश्वविद्यालय के माध्यम से कुछ के साथ पहुँचा समस्या यह है कि कक्षा समाप्त होने के बाद, आपके पास उन कौशल को काम करने का कोई तरीका नहीं है जिन्हें आपने हासिल करने के लिए इतनी मेहनत की थी।
richard1941

@ richard1941: यह विश्वविद्यालय में उद्योग के लिए लागू करने के इरादे से नहीं है, ठीक वैसी ही तकनीकें जो आपने कक्षा में सीखीं।
मैट जॉइनर

5

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

संपादित करें:
http://en.wikipedia.org/wiki/Compatibility_of_C_and_C%2B%2B कुछ प्रमुख अंतर दिखाता है


क्या आप "पर्याप्त अंतर" के बारे में विस्तार से बता सकते हैं?
मार्क


2
कोई भी C ++ कंपाइलर C को भी संकलित करेगा - आमतौर पर कंपाइलर मोड को फ़ाइल नाम एक्सटेंशन के आधार पर स्वचालित रूप से चुना जाएगा, लेकिन हर कंपाइलर में फ़ाइल नाम की परवाह किए बिना C या C ++ मोड को बाध्य करने का विकल्प भी होता है।
माइकल बूर


3

जीसीसी ठीक काम करता है। ध्यान दें कि MSVC है नहीं जरूरी एक मान्य समाधान है क्योंकि यह C99 समर्थन नहीं करता।


6
-1, GCC C99 का समर्थन नहीं करता है और न ही।
बैस्टियन लेओनार्ड

4
यह बहुत बुरा नहीं है: gcc.gnu.org/c99status.html
aib

3

मुझे इस पार्टी के लिए देर हो रही है, लेकिन विंडोज पर किसी भी भविष्य के सी लोगों के लिए, विजुअल स्टूडियो C99 के बजाय C90 को लक्षित करता है, जो कि आपको * nix पर मिलेगा। मैं वर्तमान में Cygwin के साथ मिलकर उप-पाठ 2 का उपयोग करके विंडोज पर C99 को लक्षित कर रहा हूं।



1

विजुअल C ++ एक्सप्रेस विंडोज के लिए एक अच्छा और मुफ्त IDE है जो कंपाइलर के साथ आता है।

यदि आप सामान्य रूप से कमांडलाइन समाधानों के साथ अधिक सहज हैं और विशेष रूप से, मिनगीडब्ल्यू या साइग्विन आपके लिए और अधिक हो सकते हैं। वे भी दोनों स्वतंत्र हैं।


1

कुछ टिप्पणियां बताती हैं कि C C ++ नहीं है। जबकि यह सच है, यह भी सच है कि कोई भी C ++ कंपाइलर C को भी संकलित करेगा - आमतौर पर कंपाइलर मोड को फ़ाइल नाम एक्सटेंशन के आधार पर स्वचालित रूप से चुना जाएगा, लेकिन हर कंपाइलर के पास फ़ाइल नाम की परवाह किए बिना C या C ++ मोड को बाध्य करने का विकल्प भी होता है।

तो मुफ्त सी ++ संकलक चुनें कि आप जीसीसी, वीसी ++ एक्सप्रेस, डिजिटल मंगल, जो भी हो, के साथ सबसे अधिक आरामदायक हैं। IDE का उपयोग करें जो आपको सबसे अच्छा emacs, vim, VC ++ एक्सप्रेस, कोड :: ब्लॉक, रक्तपात - फिर से जो भी हो।

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


1
अनुभव से बोलना: वीसी एक भयानक सी संकलक है। जो कुछ भी आधुनिक है वह कुलपति के पीछे पड़ गया है। C ++ के लिए यह महान है ... C के लिए, यह भयानक है।
zeboidlund

0

यह नीचे आता है कि आप कक्षा में क्या उपयोग कर रहे हैं।

यदि लैब और असाइनमेंट लिनक्स में हैं, तो आप शायद एक मिनग्यू समाधान चाहते हैं। यदि वे विंडोज़ में हैं, तो विजुअल स्टूडियो एक्सप्रेस प्राप्त करें।


0

क्या आपको अपने स्कूल से विजुअल स्टूडियो स्टूडेंट एडिशन का मुफ्त संस्करण नहीं मिल सकता है? अधिकांश विश्वविद्यालयों में छात्रों को मुफ्त सॉफ्टवेयर देने के कार्यक्रम हैं।


1
नहीं, वह सही है। "ड्रीम स्पार्क" नामक एक विशेष कार्यक्रम है, न कि मैं इस तरह के एक डरपोक माइक्रोसॉफ्ट चीज़ का समर्थन करूंगा।
मैट जॉइनर

0

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


0

मैं या तो ब्लडशेड के DEV C ++, CygWin, या Visual C ++ एक्सप्रेस का उपयोग करता हूं। जो सभी स्वतंत्र हैं और अच्छी तरह से काम करते हैं। मैंने पाया है कि मेरे लिए, DEV C ++ ने सबसे अच्छा काम किया और सबसे कम विचित्र था। प्रत्येक कंपाइलर के पास खुद के क्विर्क और डिफरेंस होते हैं, आपको कुछ आज़माने की ज़रूरत होती है और जिसको आप सबसे अधिक आरामदायक पाते हैं। मुझे इस तथ्य को भी पसंद आया कि DEV C ++ ने मुझे संपादक में उपयोग किए जाने वाले फोंट को बदलने की अनुमति दी। मुझे प्रोगी प्रोग्रामिंग फोंट पसंद है!


-1

Windows C ++ कंपाइलर काम करेंगे।

इसके अलावा, MinGW की जाँच करें ।


6
सी! = सी ++। ऐसे अंतर हैं कि सभी C कोड C ++ में भी संकलित नहीं होंगे।
बजे
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.