2010-08-13 9 views
22

जीसीसी को आमतौर पर -o स्विच के माध्यम से फ़ाइल में आउटपुट करने का निर्देश दिया जाता है। यदि यह उपलब्ध नहीं कराया गया है तो ऐसा लगता है कि यह उचित नाम और आउटपुट पर निर्णय लेता है। मैं जीसीसी को अपने जेनरेट आउटपुट को stdout पर कैसे लिखूं?जीसीसी आउटपुट को स्टडआउट करने के लिए कैसे करें?

+1

तुम कहाँ करने के लिए पाइप इसे करने के लिए जा रहे हैं? – dreamlax

+1

जैसे एर्गोसिस के उत्तर का तात्पर्य है, जीसीसी के कुछ आमंत्रण एक असेंबली फ़ाइल आउटपुट करेंगे, बाइनरी नहीं। मेरे मामले में मैं इसे देखना चाहता हूं! –

उत्तर

27
gcc -o /dev/stdout foo.c 

ध्यान दें कि /dev/stdout एक सिमलिंक के रूप में परिभाषित किया गया है: /dev/stdout -> /proc/self/fd/1

+0

अब, विंडोज के लिए एक समान समाधान है? या मुझे इसे क्रॉस-प्लेटफ़ॉर्म समाधानों के लिए हैक करना होगा? –

+0

@ केविन, जंगली अनुमान, '-ओ CON' आज़माएं? यह थोड़ी देर हो गया है क्योंकि मैंने विंडोज किया है। :/ – sarnold

+1

** Cygwin पर सावधानी का एक शब्द है **: 'जीसीसी -ओ/dev/stdout foo.c' कुछ भी नहीं आउटपुट, लेकिन' जीसीसी -c -ओ/dev/stdout foo.c' ** हटाता '/ dev/stdout'! ** – Matt

0

उम, आप बाइनरी ऑब्जेक्ट फ़ाइल के साथ क्या कर रहे हैं stdout पर डंप किया? वैसे भी, कुछ कार्यक्रम stdout के प्रतिस्थापन के रूप में '-' (एकल शून्य, कोई उद्धरण) चरित्र स्वीकार करते हैं। आप लिनक्स पर हैं, तो आप कर -o /dev/fd/1

+9

इसके साथ कई चीजें किए जा सकते हैं। – Qix

22

आप -O-, उपयोग कर सकते हैं, उदाहरण के लिए एक विधानसभा सूची मुद्रित करने के लिए कर सकते हैं:

gcc -S -o- in.c 
+4

यह ध्यान रखना महत्वपूर्ण है कि यह केवल कुछ आउटपुट के लिए काम करता है। उदाहरण के लिए 'gcc -o-test.c'' निष्पादन योग्य बनाता है जिसे '-' कहा जाता है। –

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

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