2009-03-17 16 views
20

जब हम एक सी प्रोग्राम संकलित कर रहे हैं तो उत्पादन a.out में संग्रहीत किया जाता है। हम संकलित आउटपुट को दूसरी फ़ाइल में कैसे रीडायरेक्ट कर सकते हैं?सी निष्पादन योग्य नाम निर्धारित करना

+0

जीसीसी source.c -ओ नाम:

cc -o <opfilename> <filename.c> 

का उपयोग कर निष्पादित – EsmaeelE

उत्तर

19

-ofilenamea.out के बजाय filename बना देगा।

6

मैनुअल के अनुसार:

-o <file> Place the output into <file> 
23

सबसे सी compilers जैसे, इस के लिए -o विकल्प प्रदान करते हैं:

gcc -o gentext gentext.c 
cc -o mainprog -Llib -lmymath firstbit.c secondbit.o 
xlc -o coredump coredump.c 
3

यूनिक्स, जहां सी, सी कार्यक्रम आम तौर पर संकलित किए जाते हैं मॉड्यूल से उत्पन्न में -by-मॉड्यूल, और फिर संकलित मॉड्यूल निष्पादन योग्य में जुड़े हुए हैं। कि मॉड्यूल foo.c और bar.c के होते हैं एक परियोजना के लिए, आदेशों इस तरह होगा:

cc -c foo.c 
cc -c bar.c 
cc -o myprog foo.o bar.o 

(-c के साथ, उत्पादन फ़ाइल नाम प्रत्यय ओ के साथ बदल के साथ स्रोत फ़ाइल हो जाता है।)

यह आपको केवल उन मॉड्यूल को फिर से संकलित करने की अनुमति देता है जो बदल गए हैं, जो बड़े कार्यक्रमों के लिए एक बड़ा समय बचा सकता है, लेकिन यह भी बहुत मुश्किल हो सकता है। (। यह हिस्सा आम तौर पर make का उपयोग कर स्वचालित है)

एक एकल मॉड्यूल कार्यक्रम के लिए वहाँ वास्तव में एक ओ फाइल करने के लिए पहले संकलन में किसी भी बिंदु नहीं है, और फिर जोड़ने, तो एक भी आदेश पर्याप्त होता:

cc -o foo foo.c 

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

1

संकलित का उपयोग कर:

./<opfilename> 
संबंधित मुद्दे