अल्फा-लिनक्स-ग्नू-सीपीपी - क्लाउड में ऑनलाइन

यह कमांड अल्फा-लिनक्स-ग्नू-सीपीपी है जिसे हमारे कई मुफ्त ऑनलाइन वर्कस्टेशन जैसे कि उबंटू ऑनलाइन, फेडोरा ऑनलाइन, विंडोज ऑनलाइन एमुलेटर या मैक ओएस ऑनलाइन एमुलेटर का उपयोग करके ऑनवर्क्स फ्री होस्टिंग प्रदाता में चलाया जा सकता है।

कार्यक्रम:

नाम


सीपीपी - सी प्रीप्रोसेसर

SYNOPSIS


सीपीपी [-Dमैक्रो[=रक्षा]...] [-Uमैक्रो]
[-Iदीर...] [-मैं उद्धृत करता हूंदीर...]
[-Wचेतावनी देना...]
[-M|-एमएम] [-एमजी] [-एमएफ फ़ाइल का नाम]
[-एमपी] [-एमक्यू लक्ष्य...]
[-एमटी लक्ष्य...]
[-P] [-फनो-वर्किंग-डायरेक्टरी]
[-x भाषा] [-एसटीडी=मानक]
फाइल में आउटफाइल

केवल सबसे उपयोगी विकल्प यहां सूचीबद्ध हैं; शेष के लिए नीचे देखें।

वर्णन


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

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

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

जहां भी संभव हो, आपको उस भाषा के लिए तैयार प्रीप्रोसेसर का उपयोग करना चाहिए जिसे आप लिख रहे हैं
इन। जीएनयू असेंबलर के आधुनिक संस्करणों में मैक्रो सुविधाएं हैं। सबसे उच्च स्तर
प्रोग्रामिंग भाषाओं का अपना सशर्त संकलन और समावेशन तंत्र होता है। अगर
बाकी सब विफल हो जाता है, एक सच्चे सामान्य पाठ प्रोसेसर का प्रयास करें, जैसे कि GNU M4।

सी प्रीप्रोसेसर कुछ विवरणों में भिन्न होते हैं। यह मैनुअल जीएनयू सी प्रीप्रोसेसर पर चर्चा करता है, जो
आईएसओ मानक सी की सुविधाओं का एक छोटा सुपरसेट प्रदान करता है। इसके डिफ़ॉल्ट मोड में, जीएनयू
सी प्रीप्रोसेसर मानक द्वारा आवश्यक कुछ चीजें नहीं करता है। ये विशेषताएं हैं
जो शायद ही कभी, यदि कभी उपयोग किए जाते हैं, और a . के अर्थ में आश्चर्यजनक परिवर्तन कर सकते हैं
कार्यक्रम जो उनसे उम्मीद नहीं करता है। सख्त आईएसओ मानक सी प्राप्त करने के लिए, आपको इसका उपयोग करना चाहिए
-एसटीडी = सी 90, -एसटीडी = सी 99 or -एसटीडी = सी 11 विकल्प, मानक के किस संस्करण के आधार पर आप
चाहते हैं। सभी अनिवार्य निदान प्राप्त करने के लिए, आपको इसका भी उपयोग करना चाहिए पांडित्य.

यह मैनुअल आईएसओ प्रीप्रोसेसर के व्यवहार का वर्णन करता है। अनावश्यक को कम करने के लिए
अंतर, जहां आईएसओ प्रीप्रोसेसर का व्यवहार पारंपरिक के साथ संघर्ष नहीं करता है
शब्दार्थ, पारंपरिक प्रीप्रोसेसर को उसी तरह व्यवहार करना चाहिए। बहुत से
मतभेद जो मौजूद हैं वे अनुभाग में विस्तृत हैं परंपरागत मोड.

स्पष्टता के लिए, जब तक कि अन्यथा उल्लेख न किया गया हो, के संदर्भ सीपीपी इस मैनुअल में जीएनयू सीपीपी का संदर्भ लें।

विकल्प


सी प्रीप्रोसेसर तर्क के रूप में दो फ़ाइल नामों की अपेक्षा करता है, फाइल में और आउटफाइल
प्रीप्रोसेसर पढ़ता है फाइल में किसी भी अन्य फाइल के साथ जो इसके साथ निर्दिष्ट करता है # शामिल। सभी
संयुक्त इनपुट फाइलों द्वारा उत्पन्न आउटपुट में लिखा जाता है आउटफाइल.

भी फाइल में or आउटफाइल हो सकता है -, किस के जैसे फाइल में मानक इनपुट से पढ़ने का मतलब है और
as आउटफाइल मानक आउटपुट को लिखने का मतलब है। साथ ही, यदि कोई फ़ाइल छोड़ दी जाती है, तो इसका अर्थ है
उसी तरह जैसे अगर - उस फ़ाइल के लिए निर्दिष्ट किया गया था।

जब तक अन्यथा नोट न किया गया हो, या विकल्प समाप्त होता है =, सभी विकल्प जो तर्क देते हैं, हो सकता है
क्या वह तर्क या तो विकल्प के तुरंत बाद, या बीच की जगह के साथ दिखाई देता है
विकल्प और तर्क: -इफू और -I foo एक ही प्रभाव है।

कई विकल्पों में बहु-अक्षर नाम होते हैं; इसलिए एकाधिक एकल-अक्षर विकल्प हो सकते हैं नहीं be
समूहीकृत: -डीएम से बहुत अलग है -d -M.

-D नाम
पूर्वपरिभाषित नाम एक मैक्रो के रूप में, परिभाषा के साथ 1.

-D नाम=परिभाषा
की सामग्री परिभाषा टोकनयुक्त और संसाधित किए जाते हैं जैसे कि वे इस दौरान प्रकट हुए हों
अनुवाद चरण तीन a . में #define निर्देश। विशेष रूप से, परिभाषा होगी
एम्बेडेड न्यूलाइन वर्णों द्वारा छोटा कर दिया गया।

यदि आप किसी शेल या शेल जैसे प्रोग्राम से प्रीप्रोसेसर का आह्वान कर रहे हैं जिसकी आपको आवश्यकता हो सकती है
रिक्त स्थान जैसे वर्णों की सुरक्षा के लिए शेल के उद्धरण सिंटैक्स का उपयोग करने के लिए a
शेल सिंटैक्स में अर्थ।

यदि आप कमांड लाइन पर फ़ंक्शन-जैसे मैक्रो को परिभाषित करना चाहते हैं, तो उसका तर्क लिखें
समान चिह्न (यदि कोई हो) से पहले आसपास के कोष्ठकों के साथ सूची बनाएं। कोष्ठक हैं
अधिकांश गोले के लिए सार्थक, इसलिए आपको विकल्प को उद्धृत करने की आवश्यकता होगी। साथ में sh और csh,
-डी'नाम(तर्क...)=परिभाषा' काम करता है।

-D और -U कमांड लाइन पर दिए गए क्रम में विकल्पों को संसाधित किया जाता है। सभी
-इमैक्रोस पट्टिका और -शामिल पट्टिका विकल्प सभी के बाद संसाधित होते हैं -D और -U विकल्प.

-U नाम
की कोई पिछली परिभाषा रद्द करें नाम, या तो निर्मित या प्रदान किया गया a -D विकल्प.

-अनडेफ
किसी सिस्टम-विशिष्ट या GCC-विशिष्ट मैक्रोज़ को पूर्वनिर्धारित न करें। मानक पूर्वनिर्धारित
मैक्रो परिभाषित रहते हैं।

-I दीर
निर्देशिका जोड़ें दीर शीर्षलेख फ़ाइलों के लिए खोजी जाने वाली निर्देशिकाओं की सूची में।

द्वारा नामित निर्देशिकाएँ -I मानक प्रणाली में निर्देशिकाओं को शामिल करने से पहले खोजे जाते हैं।
यदि निर्देशिका दीर एक मानक प्रणाली है जिसमें निर्देशिका शामिल है, विकल्प पर ध्यान नहीं दिया जाता है
सुनिश्चित करें कि सिस्टम निर्देशिकाओं और विशेष उपचार के लिए डिफ़ॉल्ट खोज आदेश
सिस्टम हेडर की हार नहीं होती है। अगर दीर "=" से शुरू होता है, फिर "=" होगा
sysroot उपसर्ग द्वारा प्रतिस्थापित; देख --सिसरूट और -इसिसरूट.

-o पट्टिका
को आउटपुट लिखें पट्टिका. यह निर्दिष्ट करने जैसा ही है पट्टिका दूसरे गैर-विकल्प के रूप में
करने के लिए तर्क सीपीपी. जीसीसी दूसरे गैर-विकल्प तर्क की एक अलग व्याख्या है,
तो आपको उपयोग करना चाहिए -o आउटपुट फ़ाइल निर्दिष्ट करने के लिए।

-दीवार
सभी वैकल्पिक चेतावनियों को चालू करता है जो सामान्य कोड के लिए वांछनीय हैं। वर्तमान में यह
is -कमेन्ट करें, -वट्रिग्राफ, -वमल्टीचार और पूर्णांक प्रचार के बारे में एक चेतावनी जिसके कारण a
"#if" भावों में चिन्ह का परिवर्तन। ध्यान दें कि प्रीप्रोसेसर की कई चेतावनियां
डिफ़ॉल्ट रूप से चालू हैं और उन्हें नियंत्रित करने के लिए उनके पास कोई विकल्प नहीं है।

-कमेन्ट करें
-टिप्पणियां
जब भी कोई टिप्पणी-प्रारंभ अनुक्रम चेतावनी दें /* में प्रकट होता है /* टिप्पणी करें, या जब भी
बैकस्लैश-न्यूलाइन a . में प्रकट होता है // टिप्पणी। (दोनों रूपों का प्रभाव समान है।)

-वट्रिग्राफ
टिप्पणियों में अधिकांश ट्रिग्राफ कार्यक्रम के अर्थ को प्रभावित नहीं कर सकते। हालांकि, एक
ट्रिग्राफ जो एक बची हुई नई लाइन बनाएगा (??/ एक पंक्ति के अंत में) द्वारा . कर सकते हैं
जहां टिप्पणी शुरू होती है या समाप्त होती है उसे बदलना। इसलिए, केवल ट्रिग्राफ जो बनेंगे
बची हुई न्यूलाइन एक टिप्पणी के अंदर चेतावनियाँ उत्पन्न करती हैं।

यह विकल्प द्वारा निहित है -दीवार. अगर -दीवार नहीं दिया गया है, यह विकल्प अभी भी सक्षम है
जब तक कि ट्रिग्राफ सक्षम न हों। चेतावनियों के बिना ट्रिग्राफ रूपांतरण प्राप्त करने के लिए, लेकिन प्राप्त करें
अन्य -दीवार चेतावनियाँ, उपयोग -ट्रिग्राफ -दीवार -नो-ट्रिग्राफ.

-पारंपरिक
पारंपरिक और आईएसओ सी में अलग व्यवहार करने वाले कुछ निर्माणों के बारे में चेतावनी दें। इसके अलावा
आईएसओ सी निर्माणों के बारे में चेतावनी दें जिनमें कोई पारंपरिक सी समकक्ष नहीं है, और समस्याग्रस्त है
निर्माण से बचना चाहिए।

-वुंडेफ
चेतावनी दें कि जब भी कोई पहचानकर्ता जो मैक्रो नहीं है, का सामना किसी में होता है #अगर निर्देश
के बाहर परिभाषित. ऐसे पहचानकर्ताओं को शून्य से बदल दिया जाता है।

-वुनयूज्ड-मैक्रोज़
अप्रयुक्त मुख्य फ़ाइल में परिभाषित मैक्रोज़ के बारे में चेतावनी दें। एक मैक्रो है प्रयुक्त अगर यह होता है
कम से कम एक बार अस्तित्व के लिए विस्तारित या परीक्षण किया गया। प्रीप्रोसेसर भी चेतावनी देगा अगर
मैक्रो का उपयोग उस समय नहीं किया गया है जब इसे फिर से परिभाषित या अपरिभाषित किया गया हो।

अंतर्निहित मैक्रोज़, कमांड लाइन पर परिभाषित मैक्रोज़ और इसमें परिभाषित मैक्रोज़ शामिल हैं
फाइलों के बारे में चेतावनी नहीं दी जाती है।

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

#अगर परिभाषित किया गया the_macro_causing_the_warning
#endif

-वेंडिफ-लेबल
जब भी चेतावनी दें #else या एक #endif पाठ द्वारा पीछा किया जाता है। यह आमतौर पर में होता है
फॉर्म का कोड

#अगर खाना
...
#और खाना
...
#endif फ़ू

दूसरा और तीसरा "एफओओ" टिप्पणियों में होना चाहिए, लेकिन अक्सर पुराने कार्यक्रमों में नहीं होते हैं।
यह चेतावनी डिफ़ॉल्ट रूप से चालू है।

-आतंक
सभी चेतावनियों को कठिन त्रुटियों में बदलें। चेतावनियों को ट्रिगर करने वाला स्रोत कोड होगा
अस्वीकृत।

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

-w GNU CPP द्वारा डिफ़ॉल्ट रूप से जारी की जाने वाली चेतावनियों सहित सभी चेतावनियों को रोकें।

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

-पांडित्य-त्रुटियों
सभी अनिवार्य निदान जारी करें, और सभी अनिवार्य निदानों को त्रुटियों में बदलें।
इसमें अनिवार्य निदान शामिल हैं जिन्हें जीसीसी बिना जारी करता है पांडित्य लेकिन व्यवहार करता है
चेतावनियाँ।

-M प्रीप्रोसेसिंग के परिणाम को आउटपुट करने के बजाय, उपयुक्त नियम आउटपुट करें बनाना
मुख्य स्रोत फ़ाइल की निर्भरता का वर्णन करना। प्रीप्रोसेसर एक आउटपुट करता है
बनाना उस स्रोत फ़ाइल, एक कोलन, और नामों के लिए ऑब्जेक्ट फ़ाइल नाम युक्त नियम
सभी शामिल फाइलों में से, जिनमें से आने वाली फाइलें भी शामिल हैं -शामिल or -इमैक्रोस कमान
लाइन विकल्प।

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

यह विकल्प प्रीप्रोसेसर के डिबग आउटपुट को दबाता नहीं है, जैसे -डीएम। कन्नी काटना
इस तरह के डिबग आउटपुट को निर्भरता नियमों के साथ मिलाकर आपको स्पष्ट रूप से निर्दिष्ट करना चाहिए
निर्भरता आउटपुट फ़ाइल के साथ -एमएफ, या पर्यावरण चर का उपयोग करें जैसे
DEPENDENCIES_OUTPUT. डीबग आउटपुट अभी भी नियमित आउटपुट स्ट्रीम में भेजा जाएगा:
सामान्य.

पासिंग -M चालक का तात्पर्य है -E, और एक निहित के साथ चेतावनियों को दबा देता है -w.

-एमएम पसंद -M लेकिन हेडर फाइलों का उल्लेख न करें जो सिस्टम हेडर निर्देशिकाओं में पाए जाते हैं,
न ही ऐसे हेडर से सीधे या परोक्ष रूप से शामिल हेडर फाइलें।

इसका तात्पर्य यह है कि कोण कोष्ठक या दोहरे उद्धरण चिह्नों की पसंद a # शामिल
निर्देश अपने आप में यह निर्धारित नहीं करता है कि वह शीर्षलेख अंदर दिखाई देगा या नहीं -एमएम
निर्भरता आउटपुट। यह GCC संस्करण 3.0 और से शब्दार्थ में थोड़ा सा परिवर्तन है
इससे पहले।

-एमएफ पट्टिका
जब used के साथ प्रयोग किया जाता है -M or -एमएम, निर्भरताओं को लिखने के लिए एक फ़ाइल निर्दिष्ट करता है। अगर नहीं -एमएफ
स्विच दिया जाता है प्रीप्रोसेसर नियमों को उसी स्थान पर भेजता है जहां उसने भेजा होगा
प्रीप्रोसेस्ड आउटपुट।

जब ड्राइवर विकल्पों के साथ प्रयोग किया जाता है -एमडी or -एमएमडी, -एमएफ डिफ़ॉल्ट निर्भरता को ओवरराइड करता है
निर्गम संचिका।

-एमजी जैसे विकल्प के साथ संयोजन में -M निर्भरता पीढ़ी का अनुरोध, -एमजी मान लिया गया है
लापता हेडर फाइलें जेनरेट की गई फाइलें हैं और उन्हें बिना निर्भरता सूची में जोड़ देती हैं
एक त्रुटि उठा रहा है। निर्भरता फ़ाइल नाम सीधे "# शामिल" से लिया जाता है
कोई रास्ता तैयार किए बिना निर्देश। -एमजी प्रीप्रोसेस्ड आउटपुट को भी दबा देता है, जैसे a
अनुपलब्ध हेडर फ़ाइल इसे बेकार कर देती है।

इस सुविधा का उपयोग मेकफ़ाइल्स के स्वचालित अद्यतन में किया जाता है।

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

यह विशिष्ट आउटपुट है:

test.o: test.c test.h

टेस्ट.एच:

-एमटी लक्ष्य
निर्भरता पीढ़ी द्वारा उत्सर्जित नियम का लक्ष्य बदलें। डिफ़ॉल्ट रूप से सीपीपी लेता है
मुख्य इनपुट फ़ाइल का नाम, किसी भी निर्देशिका घटक और किसी फ़ाइल प्रत्यय को हटा देता है
जैसे .c, और प्लेटफ़ॉर्म के सामान्य ऑब्जेक्ट प्रत्यय को जोड़ता है। परिणाम लक्ष्य है।

An -एमटी विकल्प लक्ष्य को आपके द्वारा निर्दिष्ट स्ट्रिंग के रूप में सेट करेगा। अगर आप चाहते हैं
एकाधिक लक्ष्य, आप उन्हें एक तर्क के रूप में निर्दिष्ट कर सकते हैं -एमटी, या एकाधिक का उपयोग करें
-एमटी विकल्प.

उदाहरण के लिए, -एमटी '$(objpfx)foo.o' दे सकता है

$(objpfx)foo.o: foo.c

-एमक्यू लक्ष्य
के समान -एमटी, लेकिन यह किसी भी पात्र को उद्धृत करता है जो मेक के लिए विशेष है।
-एमक्यू '$(objpfx)foo.o' देता है

$$(objpfx)foo.o: foo.c

डिफ़ॉल्ट लक्ष्य स्वचालित रूप से उद्धृत किया जाता है, जैसे कि इसके साथ दिया गया हो -एमक्यू.

-एमडी -एमडी के बराबर है -M -एमएफ पट्टिका, सिवाय इसके कि -E निहित नहीं है। चालक
निर्धारित पट्टिका इस पर आधारित है कि क्या कोई -o विकल्प दिया गया है। यदि ऐसा है, तो चालक इसका उपयोग करता है
तर्क लेकिन के प्रत्यय के साथ .d, अन्यथा यह इनपुट फ़ाइल का नाम लेता है,
किसी भी निर्देशिका घटक और प्रत्यय को हटा देता है, और लागू होता है a .d प्रत्यय।

If -एमडी के साथ संयोजन के रूप में उपयोग किया जाता है -E, कोई -o स्विच निर्दिष्ट करने के लिए समझा जाता है
निर्भरता आउटपुट फ़ाइल, लेकिन अगर बिना उपयोग की जाती है -Eप्रत्येक, -o एक निर्दिष्ट करने के लिए समझा जाता है
लक्ष्य वस्तु फ़ाइल।

जबसे -E निहित नहीं है, -एमडी एक निर्भरता आउटपुट फ़ाइल उत्पन्न करने के लिए इस्तेमाल किया जा सकता है a
संकलन प्रक्रिया का दुष्प्रभाव।

-एमएमडी
पसंद -एमडी केवल उपयोगकर्ता शीर्षलेख फ़ाइलों का उल्लेख करने के अलावा, सिस्टम शीर्षलेख फ़ाइलें नहीं।

-x c
-x सी ++
-x उद्देश्य सी
-x असेंबलर-साथ-सीपीपी
स्रोत भाषा निर्दिष्ट करें: C, C++, Objective-C, या असेंबली। इसका कोई लेना-देना नहीं है
मानकों के अनुरूप या विस्तार के साथ; यह केवल यह चुनता है कि कौन सा आधार वाक्यविन्यास है
अपेक्षा करना। यदि आप इनमें से कोई भी विकल्प नहीं देते हैं, तो cpp भाषा को से घटाएगा
स्रोत फ़ाइल का विस्तार: .c, . सीसी, .mया, .S. के लिए कुछ अन्य सामान्य एक्सटेंशन
सी ++ और असेंबली भी मान्यता प्राप्त हैं। यदि cpp एक्सटेंशन को नहीं पहचानता है, तो यह
फ़ाइल को सी के रूप में मानेंगे; यह सबसे सामान्य विधा है।

नोट: cpp के पिछले संस्करणों को स्वीकार किया गया a -लंग विकल्प जिसने दोनों को चुना
भाषा और मानक अनुरूपता स्तर। यह विकल्प हटा दिया गया है, क्योंकि
यह के साथ संघर्ष करता है -l विकल्प.

-एसटीडी=मानक
-अनसी
उस मानक को निर्दिष्ट करें जिसके अनुरूप कोड होना चाहिए। वर्तमान में CPP C . के बारे में जानता है
और सी++ मानक; दूसरों को भविष्य में जोड़ा जा सकता है।

मानक इनमें से एक हो सकता है:

"सी90"
"सी89"
"आईएसओ9899:1990"
1990 से आईएसओ सी मानक। c90 के इस संस्करण के लिए प्रथागत आशुलिपि है
मानक।

RSI -अनसी विकल्प के बराबर है -एसटीडी = सी 90.

"आईएसओ9899:199409"
1990 सी मानक, 1994 में संशोधित।

"आईएसओ9899:1999"
"सी99"
"आईएसओ9899:199x"
"सी9एक्स"
संशोधित आईएसओ सी मानक, दिसंबर 1999 में प्रकाशित हुआ। प्रकाशन से पहले, यह
C9X के नाम से जाना जाता था।

"आईएसओ9899:2011"
"सी11"
"सी1एक्स"
संशोधित आईएसओ सी मानक, दिसंबर 2011 में प्रकाशित हुआ। प्रकाशन से पहले, यह
C1X के नाम से जाना जाता था।

"gnu90"
"gnu89"
1990 सी मानक प्लस जीएनयू एक्सटेंशन। यह डिफ़ॉल्ट है।

"gnu99"
"gnu9x"
1999 सी मानक प्लस जीएनयू एक्सटेंशन।

"gnu11"
"gnu1x"
2011 सी मानक प्लस जीएनयू एक्सटेंशन।

"सी++98"
1998 ISO C++ मानक प्लस संशोधन।

"ग्नू++98"
बराबर -एसटीडी=सी++98 प्लस जीएनयू एक्सटेंशन। यह C++ कोड के लिए डिफ़ॉल्ट है।

-मैं- शामिल पथ को विभाजित करें। के साथ निर्दिष्ट कोई निर्देशिका -I पहले विकल्प -मैं- रहे
केवल "#include" के साथ अनुरोधित हेडर के लिए खोजा गयाफ़ाइल""; उनकी तलाश नहीं की जाती है
"#शामिलफ़ाइल>". यदि अतिरिक्त निर्देशिकाओं के साथ निर्दिष्ट किया गया है -I के बाद विकल्प
-मैं-, उन निर्देशिकाओं को सभी के लिए खोजा जाता है # शामिल दिशा निर्देशों।

इसके अलावा, -मैं- वर्तमान फ़ाइल निर्देशिका की निर्देशिका के उपयोग को रोकता है:
"#include" के लिए पहली खोज निर्देशिकाफ़ाइल"".

यह विकल्प बहिष्कृत कर दिया गया है।

-नोस्टडिंक
हेडर फाइलों के लिए मानक सिस्टम निर्देशिकाओं की खोज न करें। केवल निर्देशिका
आपने के साथ निर्दिष्ट किया है -I विकल्प (और वर्तमान फ़ाइल की निर्देशिका, if
उपयुक्त) खोजे जाते हैं।

-नोस्टडिंक++
C++ - विशिष्ट मानक निर्देशिकाओं में शीर्षलेख फ़ाइलों की खोज न करें, लेकिन फिर भी करें
अन्य मानक निर्देशिका खोजें। (इस विकल्प का उपयोग C++ . का निर्माण करते समय किया जाता है
पुस्तकालय।)

-शामिल पट्टिका
प्रक्रिया पट्टिका जैसे कि "#include "file"" प्राथमिक स्रोत की पहली पंक्ति के रूप में दिखाई दिया
फ़ाइल। हालाँकि, पहली निर्देशिका की खोज की गई पट्टिका प्रीप्रोसेसर काम कर रहा है
डायरेक्टरी बजाय of मुख्य स्रोत फ़ाइल वाली निर्देशिका। नहीं मिला तो
वहां, इसे "#include "..."" खोज श्रृंखला के शेष भाग में खोजा जाता है जैसे
सामान्य.

अगर कई -शामिल विकल्प दिए गए हैं, फाइलों को उनके क्रम में शामिल किया गया है
कमांड लाइन पर दिखाई दें।

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

द्वारा निर्दिष्ट सभी फ़ाइलें -इमैक्रोस द्वारा निर्दिष्ट सभी फाइलों से पहले संसाधित होते हैं -शामिल.

-इदिराफ्टर दीर
Search दीर हेडर फाइलों के लिए, लेकिन इसे करें बाद के साथ निर्दिष्ट सभी निर्देशिकाएं -I और
मानक सिस्टम निर्देशिका समाप्त हो गई हैं। दीर एक प्रणाली के रूप में माना जाता है
निर्देशिका। अगर दीर "=" से शुरू होता है, फिर "=" को sysroot द्वारा बदल दिया जाएगा
उपसर्ग; देख --सिसरूट और -इसिसरूट.

-आईप्रीफिक्स उपसर्ग
निर्दिष्ट करें उपसर्ग बाद के उपसर्ग के रूप में -iwithउपसर्ग विकल्प। यदि उपसर्ग
एक निर्देशिका का प्रतिनिधित्व करता है, आपको अंतिम शामिल करना चाहिए /.

-iwithउपसर्ग दीर
-iसाथउपसर्गपहले दीर
जोड़ना दीर पहले से निर्दिष्ट उपसर्ग के साथ -आईप्रीफिक्स, और परिणामी जोड़ें
खोज पथ शामिल करने के लिए निर्देशिका। -iसाथउपसर्गपहले इसे उसी स्थान पर रखता है -I
चाहेंगे; -iwithउपसर्ग इसे कहाँ रखता है -इदिराफ्टर होगा।

-इसिसरूट दीर
यह विकल्प इस प्रकार है --सिसरूट विकल्प, लेकिन केवल हेडर फाइलों पर लागू होता है (को छोड़कर)
डार्विन लक्ष्य, जहां यह हेडर फाइलों और पुस्तकालयों दोनों पर लागू होता है)। देखें
--सिसरूट अधिक जानकारी के लिए विकल्प।

-इमल्टीलिब दीर
उपयोग दीर लक्ष्य-विशिष्ट C++ शीर्षलेख वाली निर्देशिका की उपनिर्देशिका के रूप में।

-सिस्टम दीर
Search दीर हेडर फाइलों के लिए, द्वारा निर्दिष्ट सभी निर्देशिकाओं के बाद -I लेकिन इससे पहले
मानक प्रणाली निर्देशिका। इसे सिस्टम निर्देशिका के रूप में चिह्नित करें, ताकि यह समान हो जाए
विशेष उपचार जैसा कि मानक सिस्टम निर्देशिकाओं पर लागू होता है।

If दीर "=" से शुरू होता है, फिर "=" को sysroot उपसर्ग से बदल दिया जाएगा; देख
--सिसरूट और -इसिसरूट.

-मैं उद्धृत करता हूं दीर
Search दीर केवल "#include" के साथ अनुरोधित शीर्षलेख फ़ाइलों के लिएफ़ाइल""; वो नहीं हैं
"#शामिल" के लिए खोजाफ़ाइल>", द्वारा निर्दिष्ट सभी निर्देशिकाओं से पहले -I और पहले
मानक प्रणाली निर्देशिका।

If दीर "=" से शुरू होता है, फिर "=" को sysroot उपसर्ग से बदल दिया जाएगा; देख
--सिसरूट और -इसिसरूट.

-fdirective-only
प्रीप्रोसेसिंग करते समय, निर्देशों को संभालें, लेकिन मैक्रोज़ का विस्तार न करें।

विकल्प का व्यवहार इस पर निर्भर करता है: -E और -फप्रीप्रोसेस्ड विकल्प.

- -E, प्रीप्रोसेसिंग "#define" जैसे निर्देशों को संभालने तक सीमित है,
"#ifdef", और "#error"। अन्य प्रीप्रोसेसर संचालन, जैसे मैक्रो विस्तार और
ट्रिग्राफ रूपांतरण नहीं किया जाता है। इसके साथ में -डीडी विकल्प परोक्ष है
सक्षम होना चाहिए।

- -फप्रीप्रोसेस्ड, कमांड लाइन और अधिकांश बिल्टिन मैक्रोज़ की पूर्व परिभाषा है
अक्षम। मैक्रोज़ जैसे "__LINE__", जो प्रासंगिक रूप से निर्भर हैं, को संभाला जाता है
सामान्य रूप से। यह "-E ." के साथ पूर्व-संसाधित फ़ाइलों के संकलन को सक्षम बनाता है
-निर्देश-केवल"।

दोनोंके साथ -E और -फप्रीप्रोसेस्डके लिए नियम -फप्रीप्रोसेस्ड पूर्वता ले। इस
"-E ." के साथ पूर्व-संसाधित फ़ाइलों के पूर्ण प्रीप्रोसेसिंग को सक्षम करता है
-निर्देश-केवल"।

- डॉलर-में-पहचानकर्ता
स्वीकार करें $ पहचानकर्ताओं में।

-फेक्टेड-पहचानकर्ता
पहचानकर्ताओं में सार्वभौमिक चरित्र नाम स्वीकार करें। यह विकल्प डिफॉल्ट द्वारा सक्षम हो जाता है
C99 (और बाद में C मानक संस्करण) और C++ के लिए।

-फनो-कैनोनिकल-सिस्टम-हेडर
प्रीप्रोसेसिंग करते समय, कैनोनिकलाइज़ेशन के साथ सिस्टम हेडर पथ को छोटा न करें।

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

-फप्रीप्रोसेस्ड निहित है यदि इनपुट फ़ाइल में एक्सटेंशन में से एक है .i, ii or .एमआई.
ये वे एक्सटेंशन हैं जिनका उपयोग GCC द्वारा बनाई गई प्रीप्रोसेस्ड फ़ाइलों के लिए करता है -बचाओ-अस्थायी.

-फटबस्टॉप=चौडाई
टैब स्टॉप के बीच की दूरी सेट करें। यह प्रीप्रोसेसर रिपोर्ट को सही कॉलम में मदद करता है
चेतावनियों या त्रुटियों में नंबर, भले ही टैब लाइन पर दिखाई दें। यदि मान कम है
1 से अधिक या 100 से अधिक, विकल्प पर ध्यान नहीं दिया जाता है। डिफ़ॉल्ट 8 है।

-एफडीबग-सीपीपी
यह विकल्प केवल GCC डीबग करने के लिए उपयोगी है। जब के साथ प्रयोग किया जाता है -E, डिबगिंग डंप करता है
स्थान के नक्शे के बारे में जानकारी। आउटपुट में प्रत्येक टोकन के डंप से पहले होता है
वह मानचित्र जिससे उसका स्थान संबंधित है। एक टोकन के स्थान को धारण करने वाले मानचित्र का डंप
होने वाला:

{"पी": एफ ;"एफ":एफ ; "एल": ;"सी": ;"एस": ;"एम": ;"इ": , "लोक": }

बिना उपयोग किए जाने पर -E, इस विकल्प का कोई प्रभाव नहीं है।

-फ्रैक-मैक्रो-विस्तार[=स्तर]
मैक्रो विस्तार में टोकन के स्थानों को ट्रैक करें। यह संकलक को उत्सर्जित करने की अनुमति देता है
वर्तमान मैक्रो विस्तार स्टैक के बारे में निदान जब एक संकलन त्रुटि होती है
एक मैक्रो विस्तार। इस विकल्प का उपयोग करने से प्रीप्रोसेसर और कंपाइलर उपभोग करते हैं
अधिक स्मृति। NS स्तर टोकन की सटीकता के स्तर को चुनने के लिए पैरामीटर का उपयोग किया जा सकता है
स्थान ट्रैकिंग इस प्रकार यदि आवश्यक हो तो स्मृति खपत को कम करती है। मूल्य 0 of
स्तर इस विकल्प को वैसे ही निष्क्रिय कर देता है जैसे कि नहीं -फ्रैक-मैक्रो-विस्तार पर मौजूद था
कमांड लाइन। मूल्य 1 के लिए एक अवक्रमित मोड में टोकन स्थानों को ट्रैक करता है
न्यूनतम मेमोरी ओवरहेड। इस मोड में an . के विस्तार के परिणामस्वरूप सभी टोकन
फ़ंक्शन-जैसे मैक्रो के तर्क का स्थान समान होता है। मूल्य 2 ट्रैक टोकन
स्थान पूरी तरह से। यह मान सबसे अधिक स्मृति भूखा है। जब यह विकल्प दिया जाता है
कोई तर्क नहीं, डिफ़ॉल्ट पैरामीटर मान है 2.

ध्यान दें कि "-ftrack-macro-expansion=2" डिफ़ॉल्ट रूप से सक्रिय होता है।

-फेक्सेक-चारसेट =चारसेट
निष्पादन वर्ण सेट सेट करें, स्ट्रिंग और वर्ण स्थिरांक के लिए उपयोग किया जाता है। डिफ़ॉल्ट
यूटीएफ -8 है। चारसेट सिस्टम की "iconv" लाइब्रेरी द्वारा समर्थित कोई भी एन्कोडिंग हो सकता है
दिनचर्या।

-फवाइड-निष्पादन-चारसेट=चारसेट
विस्तृत स्ट्रिंग और वर्ण स्थिरांक के लिए उपयोग किए जाने वाले विस्तृत निष्पादन वर्ण सेट को सेट करें।
डिफ़ॉल्ट UTF-32 या UTF-16 है, जो भी "wchar_t" की चौड़ाई के अनुरूप हो। जैसा
साथ में -फेक्सेक-चारसेट, चारसेट सिस्टम के "iconv" द्वारा समर्थित कोई भी एन्कोडिंग हो सकता है
पुस्तकालय दिनचर्या; हालांकि, आपको उन एन्कोडिंग के साथ समस्या होगी जो फिट नहीं हैं
बिल्कुल "wchar_t" में।

-फिनपुट-चारसेट =चारसेट
इनपुट कैरेक्टर सेट सेट करें, इनपुट के कैरेक्टर सेट से अनुवाद के लिए उपयोग किया जाता है
जीसीसी द्वारा उपयोग किए जाने वाले स्रोत वर्ण सेट में फ़ाइल। यदि स्थान निर्दिष्ट नहीं करता है, या GCC
यह जानकारी लोकेल से नहीं मिल सकती है, डिफ़ॉल्ट यूटीएफ -8 है। यह हो सकता है
लोकेल या इस कमांड-लाइन विकल्प द्वारा ओवरराइड किया गया। वर्तमान में आदेश-
कोई विरोध होने पर लाइन विकल्प को प्राथमिकता दी जाती है। चारसेट कोई भी एन्कोडिंग हो सकता है
सिस्टम के "iconv" लाइब्रेरी रूटीन द्वारा समर्थित।

-फ़वर्किंग-निर्देशिका
प्रीप्रोसेसर आउटपुट में लाइनमार्कर की पीढ़ी को सक्षम करें जो कंपाइलर को देगा
प्रीप्रोसेसिंग के समय वर्तमान कार्यशील निर्देशिका को जानें। जब यह विकल्प है
सक्षम, प्रीप्रोसेसर प्रारंभिक लाइनमार्कर के बाद, दूसरा लाइनमार्कर उत्सर्जित करेगा
वर्तमान कार्यशील निर्देशिका के साथ दो स्लैश के बाद। जीसीसी इसका उपयोग करेगा
निर्देशिका, जब यह प्रीप्रोसेस्ड इनपुट में मौजूद होती है, तो निर्देशिका के रूप में उत्सर्जित होती है
कुछ डिबगिंग सूचना स्वरूपों में वर्तमान कार्यशील निर्देशिका। यह विकल्प है
डिबगिंग जानकारी सक्षम होने पर निहित रूप से सक्षम है, लेकिन इसे इसके साथ बाधित किया जा सकता है
अस्वीकृत रूप -फनो-वर्किंग-डायरेक्टरी। अगर -P ध्वज कमांड में मौजूद है
लाइन, इस विकल्प का कोई प्रभाव नहीं है, क्योंकि कोई भी "#line" निर्देश उत्सर्जित नहीं होते हैं।

-फनो-शो-कॉलम
डायग्नोस्टिक्स में कॉलम नंबर प्रिंट न करें। यह आवश्यक हो सकता है यदि निदान हैं
एक प्रोग्राम द्वारा स्कैन किया जा रहा है जो कॉलम नंबरों को नहीं समझता है, जैसे कि
देजगनु.

-A विधेय=जवाब
विधेय के साथ एक अभिकथन करें विधेय और उत्तर जवाब. यह फॉर्म है
पुराने रूप को पसंद किया -A विधेय(जवाब), जो अभी भी समर्थित है, क्योंकि यह
शेल विशेष वर्णों का उपयोग नहीं करता है।

-A -विधेय=जवाब
विधेय के साथ एक अभिकथन रद्द करें विधेय और उत्तर जवाब.

-dCHARS
घर का काम निम्नलिखित में से एक या अधिक वर्णों का अनुक्रम है, और नहीं होना चाहिए
एक स्थान से पहले। अन्य वर्णों की व्याख्या कंपाइलर द्वारा उचित रूप से की जाती है, या
जीसीसी के भविष्य के संस्करणों के लिए आरक्षित है, और इसलिए चुपचाप अनदेखा कर दिया जाता है। यदि आप निर्दिष्ट करते हैं
जिन पात्रों का व्यवहार विरोध करता है, परिणाम अपरिभाषित है।

M सामान्य आउटपुट के बजाय, की एक सूची तैयार करें #define सभी के लिए निर्देश
पूर्वनिर्धारित सहित प्रीप्रोसेसर के निष्पादन के दौरान परिभाषित मैक्रोज़
मैक्रोज़ यह आपको यह पता लगाने का एक तरीका देता है कि आपके संस्करण में पूर्वनिर्धारित क्या है
प्रीप्रोसेसर। मान लें कि आपके पास कोई फ़ाइल नहीं है फू.एच, आदेश

स्पर्श फू.एच; सीपीपी -डीएम foo.h

सभी पूर्वनिर्धारित मैक्रोज़ दिखाएगा।

आप उपयोग करते हैं -डीएम के बिना -E विकल्प, -डीएम के समानार्थी के रूप में व्याख्या की जाती है
-फडंप-आरटीएल-मच.

D पसंद M दो मामलों को छोड़कर: यह करता है नहीं पूर्वनिर्धारित मैक्रोज़ शामिल करें, और यह
outputs के के छात्रों la #define निर्देश और प्रीप्रोसेसिंग का परिणाम। दोनों प्रकार
आउटपुट का मानक आउटपुट फ़ाइल पर जाएं।

N पसंद D, लेकिन केवल मैक्रो नामों का उत्सर्जन करते हैं, उनके विस्तार नहीं।

I उत्पादन # शामिल प्रीप्रोसेसिंग के परिणाम के अलावा निर्देश।

U पसंद D सिवाय इसके कि केवल मैक्रोज़ जो विस्तारित हैं, या जिनकी परिभाषा का परीक्षण किया गया है
प्रीप्रोसेसर निर्देशों में, आउटपुट हैं; उपयोग या . तक आउटपुट में देरी हो रही है
मैक्रो का परीक्षण; तथा # कुंड परीक्षण किए गए मैक्रोज़ के लिए निर्देश भी आउटपुट हैं लेकिन
उस समय अपरिभाषित।

-P प्रीप्रोसेसर से आउटपुट में लाइनमार्कर की पीढ़ी को रोकें। यह हो सकता है
प्रीप्रोसेसर को किसी ऐसी चीज़ पर चलाते समय उपयोगी है जो सी कोड नहीं है, और भेजा जाएगा
एक प्रोग्राम के लिए जो लाइनमार्कर द्वारा भ्रमित किया जा सकता है।

-C टिप्पणियों को न छोड़ें। सभी टिप्पणियों को आउटपुट फ़ाइल के माध्यम से पारित किया जाता है, सिवाय
संसाधित निर्देशों में टिप्पणियों के लिए, जिन्हें निर्देश के साथ हटा दिया जाता है।

उपयोग करते समय आपको दुष्प्रभावों के लिए तैयार रहना चाहिए -C; यह प्रीप्रोसेसर का कारण बनता है
टिप्पणियों को अपने आप में टोकन के रूप में मानें। उदाहरण के लिए, पर प्रदर्शित होने वाली टिप्पणियां
एक निर्देश रेखा क्या होगी की शुरुआत उस रेखा को एक में बदलने का असर है
साधारण स्रोत लाइन, चूंकि लाइन पर पहला टोकन अब नहीं है a #.

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

के दुष्प्रभावों के अलावा -C विकल्प, -सीसी विकल्प सभी सी ++ - शैली का कारण बनता है
मैक्रो के अंदर टिप्पणियों को सी-स्टाइल टिप्पणियों में परिवर्तित किया जाना है। यह बाद में रोकने के लिए है
स्रोत लाइन के शेष भाग पर अनजाने में टिप्पणी करने से उस मैक्रो का उपयोग।

RSI -सीसी विकल्प आमतौर पर लिंट टिप्पणियों का समर्थन करने के लिए उपयोग किया जाता है।

-पारंपरिक-सीपीपी
आईएसओ सी के विपरीत पुराने जमाने के सी प्रीप्रोसेसरों के व्यवहार की नकल करने की कोशिश करें
प्रीप्रोसेसर।

-ट्रिग्राफ
प्रक्रिया ट्रिग्राफ अनुक्रम।

-रेमैप
फ़ाइल सिस्टम के आसपास काम करने के लिए विशेष कोड सक्षम करें जो केवल बहुत छोटी फ़ाइल की अनुमति देता है
एमएस-डॉस जैसे नाम।

--मदद
--लक्ष्य-सहायता
किसी भी चीज़ को प्रीप्रोसेस करने के बजाय सभी कमांड-लाइन विकल्पों का वर्णन करने वाला टेक्स्ट प्रिंट करें।

-v वाचाल प्रकार। निष्पादन की शुरुआत में जीएनयू सीपीपी के संस्करण संख्या का प्रिंट आउट लें, और
शामिल पथ के अंतिम रूप की रिपोर्ट करें।

-H अन्य सामान्य गतिविधियों के अलावा, उपयोग की जाने वाली प्रत्येक हेडर फ़ाइल का नाम प्रिंट करें। प्रत्येक
नाम को यह दिखाने के लिए इंडेंट किया गया है कि में कितना गहरा है # शामिल ढेर है। प्रीकंपील्ड हेडर
फ़ाइलें भी मुद्रित की जाती हैं, भले ही वे अमान्य पाई जाती हैं; एक अमान्य पूर्वसंकलित
हैडर फ़ाइल के साथ मुद्रित है ...एक्स और एक वैध के साथ ...! .

-संस्करण
--संस्करण
जीएनयू सीपीपी के संस्करण संख्या का प्रिंट आउट लें। एक डैश के साथ, सामान्य रूप से प्रीप्रोसेस करने के लिए आगे बढ़ें।
दो डैश के साथ, तुरंत बाहर निकलें।

वातावरण


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

ध्यान दें कि आप विकल्पों का उपयोग करके खोजने के लिए स्थान भी निर्दिष्ट कर सकते हैं जैसे -I, और नियंत्रण
जैसे विकल्पों के साथ निर्भरता आउटपुट -M. ये पर्यावरण चर पर वरीयता लेते हैं,
जो बदले में जीसीसी के विन्यास पर पूर्वता लेते हैं।

सीपीएटीएच
C_INCLUDE_PATH
CPLUS_INCLUDE_PATH
OBJC_INCLUDE_PATH
प्रत्येक चर का मान एक विशेष वर्ण द्वारा अलग की गई निर्देशिकाओं की एक सूची है, बहुत कुछ
पसंद पथ, जिसमें हेडर फाइलों को देखना है। विशेष पात्र,
"PATH_SEPARATOR", लक्ष्य-निर्भर है और GCC निर्माण समय पर निर्धारित होता है। माइक्रोसॉफ्ट के लिए
विंडोज-आधारित लक्ष्य यह एक अर्धविराम है, और लगभग सभी अन्य लक्ष्यों के लिए यह एक है
कोलन।

सीपीएटीएच खोजे जाने वाली निर्देशिकाओं की एक सूची निर्दिष्ट करता है जैसे कि निर्दिष्ट किया गया हो -I, परंतु
के साथ दिए गए किसी भी रास्ते के बाद -I कमांड लाइन पर विकल्प। यह पर्यावरण चर
इस बात पर ध्यान दिए बिना कि किस भाषा को प्रीप्रोसेस किया जा रहा है, का उपयोग किया जाता है।

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

इन सभी वेरिएबल्स में, एक खाली तत्व कंपाइलर को अपने करंट को खोजने का निर्देश देता है
कार्यकारी डाइरेक्टरी। पथ के आरंभ या अंत में खाली तत्व दिखाई दे सकते हैं। के लिये
उदाहरण के लिए, यदि का मान सीपीएटीएच है ":/विशेष/शामिल", जिसका प्रभाव वही है
-मैं। -मैं/विशेष/शामिल.

DEPENDENCIES_OUTPUT
यदि यह चर सेट किया गया है, तो इसका मान निर्दिष्ट करता है कि मेक आधारित के लिए निर्भरता कैसे आउटपुट करें
संकलक द्वारा संसाधित गैर-सिस्टम शीर्षलेख फ़ाइलों पर। सिस्टम हेडर फाइलें हैं
निर्भरता आउटपुट में अनदेखा किया गया।

के मूल्य DEPENDENCIES_OUTPUT केवल एक फ़ाइल नाम हो सकता है, जिस स्थिति में नियम बनाएं
स्रोत फ़ाइल नाम से लक्ष्य नाम का अनुमान लगाते हुए, उस फ़ाइल में लिखा जाता है। या
मान का रूप हो सकता है पट्टिका लक्ष्य, जिस स्थिति में नियम फाइल करने के लिए लिखे जाते हैं पट्टिका
का उपयोग लक्ष्य लक्ष्य नाम के रूप में।

दूसरे शब्दों में, यह पर्यावरण चर विकल्पों के संयोजन के बराबर है -एमएम
और -एमएफ, एक वैकल्पिक . के साथ -एमटी स्विच भी।

SUNPRO_DEPENDENCIES
यह चर समान है DEPENDENCIES_OUTPUT (ऊपर देखें), उस प्रणाली को छोड़कर
हेडर फाइलों को नजरअंदाज नहीं किया जाता है, इसलिए इसका मतलब है -M बजाय -एमएम। हालांकि
मुख्य इनपुट फ़ाइल पर निर्भरता छोड़ी गई है।

onworks.net सेवाओं का उपयोग करके ऑनलाइन अल्फा-लिनक्स-ग्नू-सीपीपी का उपयोग करें



नवीनतम Linux और Windows ऑनलाइन प्रोग्राम