जीएनयू कार्यक्रम बड़े और जटिल हैं। GNU Hello World का आकार दिखाता है कि यहां तक कि सबसे सरल जीएनयू परियोजना को इसके चारों ओर बहुत सारे कोड और कॉन्फ़िगरेशन की आवश्यकता होती है।
ऑटोटूल को शुरुआत के लिए समझना मुश्किल होता है, लेकिन आपको कोड पढ़ने के लिए उन्हें समझने की आवश्यकता नहीं है। यहां तक कि यदि आप कोड को संशोधित करते हैं, तो अधिकांश समय आप आसानी से अपने परिवर्तनों को संकलित करने के लिए चला सकते हैं।
कोड पढ़ने के लिए, आपको स्रोत के माध्यम से नेविगेट करने के लिए एक अच्छा संपादक (वीआईएम, एमैक्स) या आईडीई (ग्रहण) और कुछ टूल्स की आवश्यकता है। टैर प्रोजेक्ट में एक src निर्देशिका है, जो शुरू करने के लिए एक अच्छी जगह है। एक कार्यक्रम हमेशा मुख्य समारोह के साथ शुरू होता है, इसलिए
grep main *.c
या इस फ़ंक्शन को खोजने के लिए अपने आईडीई का उपयोग करें। यह tar.c. में है अब, सभी प्रारंभिक सामग्री को छोड़ दें,
/* Main command execution. */
वहां, आप उपसमूहों के लिए एक स्विच देखते हैं। यदि आप पास करते हैं -एक्स यह करता है, यदि आप पास करते हैं -सी यह करता है, आदि। यह उन आदेशों के लिए शाखाकरण संरचना है। यदि आप जानना चाहते हैं कि ये मैक्रो क्या हैं,
grep EXTRACT_SUBCOMMAND *.h
वहां आप देख सकते हैं कि वे सामान्य में सूचीबद्ध हैं।
read_and (extract_archive);
read_and (की परिभाषा) (फिर से ग्रेप के साथ प्राप्त):
EXTRACT_SUBCOMMAND नीचे आप कुछ अजीब देख
read_and (void (*do_something) (void))
एकल पैरामीटर एक कॉलबैक की तरह एक समारोह सूचक है , तो read_and माना जाता है कि कुछ पढ़ा जाएगा और फिर फ़ंक्शन extract_archive
पर कॉल करें। फिर, उस पर grep और आप इस पर गौर करेगा:
if (prepare_to_extract (current_stat_info.file_name, typeflag, &fun))
{
if (fun && (*fun) (current_stat_info.file_name, typeflag)
&& backup_option)
undo_last_backup();
}
else
skip_member();
ध्यान दें कि असली काम होता है जब fun
बुला। fun
फिर से एक फ़ंक्शन पॉइंटर है, जो ready_to_extract में सेट है। fun
extract_file
पर इंगित कर सकता है, जो वास्तविक लेखन करता है।
मुझे आशा है कि मैं आपको इसके माध्यम से एक बड़ा सौदा करता हूं और आपको दिखाता हूं कि मैं स्रोत कोड के माध्यम से कैसे नेविगेट करता हूं। यदि आपके पास संबंधित प्रश्न हैं तो मुझसे संपर्क करने में संकोच न करें।
इस तथ्य में एक मजाक छिपाना चाहिए कि जीएनयू हैलो (2.4.90) का नवीनतम संस्करण tar.gz संग्रह के रूप में 566 KB डाउनलोड है। यह बस ... डरावना है। – unwind
@unwind जीएनयू हैलो सिर्फ "हैलो वर्ल्ड" कार्यक्रम से अधिक है: यह कई भाषाओं में "हैलो वर्ल्ड" प्रिंट करता है, जब आपको इसकी ज़रूरत होती है तो कॉफी और ऋण आपको पैसे देता है। – ereOn
जीएनयू हैलो एक कंकाल है जो ऑटोटूल के मूल उपयोग को दिखाता है, कमांड लाइन विकल्पों को कैसे पार्स करें और अंतर्राष्ट्रीयकरण का समर्थन कैसे करें। अधिकांश डाउनलोड शायद संदेश फाइलें हैं [यह] (http://cvs.savannah.gnu.org/viewvc/hello/po/it.po?root=hello&view=markup) –