सरल सी ओपन सोर्स प्रोजेक्ट


16

मैं सी सीख रहा हूं, और मैं अंदर आने के लिए एक (अधिमानतः बहुत) सरल ओपन सोर्स प्रोजेक्ट की तलाश में हूं। इसमें वास्तविक योगदान की तुलना में अधिकतर खेलना और मेरे हिस्से पर सीखना शामिल होगा, लेकिन यह कुछ अनुभव हासिल करने का एक शानदार तरीका है और देखें कि सी वास्तव में कैसे उपयोग किया जाता है। कोई विचार?

27

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

यदि आप वास्तविक सुझावों की तलाश में हैं तो पेजर "कम" एक अच्छी शुरुआत है। यह एक साफ़ तरीके से लिखा गया है, छोटा है, और it does a surprising amount

बेशक यह अधिकतर सरल पर निर्भर करता है कि आप इस पर निर्भर करते हैं! मैंने the mutt mail client के साथ चारों ओर हैक किया है - जो एक साफ फैशन में लिखा गया है, जो इसे विस्तारित करना आसान बनाता है, लेकिन मैं यह समझने का भी नाटक नहीं करता कि यह कैसे काम करता है।

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

apt-get source less 
+5

पर अपने सुरक्षा मॉड्यूल की जांच कर सकते हैं, मैंने अभी सीखा है कि आप स्रोत को इस तरह से प्राप्त कर सकते हैं, यह कमाल है। 08 oct. 122012-10-08 23:38:28


7

यह अजीब लगता है लेकिन मुझे लगता है यह जानने के लिए सबसे अच्छा उपाय है सी अजगर के लिए सी एक्सटेंशन लिख रहा है। ऐसे कई सरल एक्सटेंशन हैं जो किसी भी तरह से पाइथन सी एपीआई का उपयोग करते हैं और इसके साथ काम करना मजेदार है। (शायद यह अगर तुम अजगर पता नहीं है कम दिलचस्प है ^^)

मूल रूप से जिस तरह से मैं सी सीखा के लिए छोटे मॉड्यूल सिर्फ Cheeseshop^Wpypi को देखो है यही कारण है कि, वहाँ कई पुस्तकालयों कि सी

में लिखे गए हैं कर रहे हैं

अन्यथा कुछ सरल गनोम जीयूआई अनुप्रयोगों की जांच करें। उनमें से कई सी

+1

दो अंगूठे ऊपर। मैं सुझाव देने जा रहा था, अगर ओपी पाइथन जानता है। पायथन एपीआई बेहद अच्छी तरह डिज़ाइन किया गया है। यह आपको स्मृति प्रबंधन के बारे में सिखाएगा और आपको बातचीत के साथ खेलने के लिए कुछ उपयोगी मिलेगा। मैंने लिखा एक उपयोगी पायथन एक्सटेंशन: pypi.python.org/pypi/py_sg 24 sep. 082008-09-24 00:07:00


2

में लिखे गए हैं, आप पाएंगे कि गैर-तुच्छ ओपन-सोर्स समुदाय के लिए पर्याप्त परियोजनाएं दिलचस्प हैं जिनमें सभी जटिलता शामिल हैं। जानवर की प्रकृति: यदि यह वास्तव में जटिल नहीं है (या वास्तव में जटिल नहीं है), यह या तो पहले से ही अच्छी तरह से हल और मानक है या अधिक ध्यान आकर्षित करने के लिए पर्याप्त दिलचस्प नहीं है।

नई समस्या डोमेन तोड़ने इस हालत, ज़ाहिर है, तो आप बस कुछ इतना चालाक है कि यह इस तथ्य के बाद स्पष्ट है का निर्माण करने की आवश्यकता है के आगमन ...

यह कहने पर विचार dillo, जो मुखपृष्ठ के बावजूद चुपचाप संस्करण 2 (fltk आधारित) पर काम कर रहा है।


3

जैसा कि स्टीव ने उल्लेख किया है, कुछ मानक यूनिक्स उपयोगिता जैसे "कम" शायद एक अच्छा विचार है।

मैं यह भी सोच रहा था कि हैकिंग करने का प्रयास करने के लिए शायद हल्का टेक्स्ट संपादक ठंडा हो सकता है। उदाहरण के लिए "जो" सी में लिखा गया है, और जीपीएल लाइसेंस प्राप्त है। उसी लाइन के साथ, यदि आप विंडोज़ पर हैं तो "विनवी" संपादक जीपीएल लाइसेंस प्राप्त है और सी

या शायद किसी प्रकार का एक सरल कंसोल-आधारित गेम में लिखा गया है? एक साहसिक/आरपी प्रकार के खेल की तरह पसंदीदा रूप से पाठक?


3

यदि आप कुछ अच्छा कोड देखना चाहते हैं, तो एसक्लाइट स्रोत देखें।
चाहे आप इसके साथ योगदान कर सकते हैं या टिंकर कर सकते हैं, मुझे नहीं पता, लेकिन कम से कम एक नज़र के लायक है, यह अच्छी, साफ सी शैली देखने के लिए है।

sqlite


6

किन भाषाओं का आप पहले से ही पता है? क्या आप पर्ल/पायथन/रुबी/ग्रोवी जैसी गतिशील भाषा जानते हैं?

क्या सी सर्वोत्तम पर (मेरी राय में) निम्न स्तर के प्रोग्रामिंग है जिसमें हार्डवेयर पहुंच, भारी गणित और अत्यधिक कुशल एल्गोरिदम शामिल हैं।

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

आखिरकार, लिनक्स कर्नेल को देखने का प्रयास करें। निश्चित रूप से, यह विशाल कोडबेस, कोड की लाखों लाइनें हैं, लेकिन यह भी मॉड्यूलर और अच्छी तरह से प्रलेखित है। कोड के बारे में कम से कम दो बहुत अच्छी किताबें हैं: Understanding the Linux Kernel और Linux Device Drivers (उत्तरार्द्ध मुफ्त में ऑनलाइन उपलब्ध है)।


0

मोज़िला आपके लिए एक अच्छा विकल्प हो सकता है। सी के लिए आप https://developer.mozilla.org/en-US/docs/Mozilla/Projects/NSS/Getting_started_with_NSS