2009-10-03 11 views
7

एक छोटा सी प्रोग्राम लिखें, जो संकलन करते समय इनपुट टर्मिनल से लेता है, और चलने पर दूसरे प्रोग्राम का परिणाम मिलता है। (नोट: कुंजी है, यूनिक्स सोचो)।संकलन के दौरान प्रोग्राम कैसे लिखें?

मान लीजिए, कार्यक्रम 1.c फिर, जबकि

$ cc -o 1 1.c 
int main() 
{ 
    printf("Hello World\n"); 
} 
^D 
$ ./1 
Hello World 
$ 
+0

जहां सवाल है? –

+4

शीर्षक शीर्षक के रूप में नहीं है? – Tom

उत्तर

14

यह एक पुरानी parlaour चाल मुझे लगता है कि है

मेरे कार्यक्रम, tty.c:

#include "/dev/tty" 

शेल:

$ gcc tty.c 
int main() { 
printf("Hey\n"); 
} *Ctrl-D here* 
In file included from tty.c:1: 
/dev/tty: In function ‘main’: 
/dev/tty:2: warning: incompatible implicit declaration of built-in function ‘printf’ 
$./a.out 
Hey 
+1

हम्म, साफ। 1515151515 –

+2

वास्तव में एक आश्चर्यजनक उत्तर है ... कभी नहीं सोचा कि चीजों को करने का कोई तरीका है ... – codingfreak

1

सबसे उचित तरीका संकलन संकलन पढ़ एक फ़ाइल #include होगा बनाने के लिए है, लेकिन यह है कि यह कैसे बनाने के लिए मेरे लिए स्पष्ट नहीं है सभी यूनिक्स सिस्टम (लिनक्स में आसान, /proc के जादू के लिए धन्यवाद, पर पोर्टेबल तरीके से मानक इनपुट पढ़ें! लेकिन यह पोर्टेबल नहीं होगा)।

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