c - Compile without generating output file in GCC -
$ gcc -c somefile.c
लिंक किए बिना संकलित करता है और संबंधित somefile उत्पन्न करता है ओ
।
क्या किसी भी आउटपुट फ़ाइल को उत्पन्न किए बिना जीसीसी
में फाइलों को संकलित करना संभव है?
मुझे पता है कि इसे प्राप्त करने के अन्य तरीके हैं लेकिन मैं इस बात पर उत्सुक हूँ कि क्या त्रुटियों / चेतावनियों की तलाश में स्रोत कोड के माध्यम से जा रहा के लिए एक झंडा है।
आपको -fysyntax-only
विकल्प पसंद हो सकता है यह डिस्क पर कुछ भी नहीं लिखता है, बस जांचता है कि कोड मान्य है।
आप देख सकते हैं कि यह इस आदेश के साथ डिस्क पर कुछ भी नहीं लिखता है:
$ strace -e लिखें -एफ जीसीसी -फिसेनटेक्स-केवल test.c प्रक्रिया 14033 जुड़ी [पिन 14033] +++ 0 +++ --- सीआईजीईएलएलडी से निकलती है (सीआईजीओएनओ = एसआईजीसीएलएलडी, सीआईसीडीएड = सीएलडी_एक्सिड, सीआईपीपी = 14033, सीआईस्टस्टस = 0, Si_time = 0, si_stime = 0} --- +++ 0 +++
से निकल गया इस अन्य कमांड के साथ तुलना करें जो -c -o / dev / null का उपयोग करता है < / कोड> इसके बजाय:
रॉड्रिगो @ पी 41 सीसीटीएक्स 5: / टीएमपी $ सीढ़ी -ई लिखें -एफ जीसीसी -सी-ओ-डी / डीआईडी / नल टेस्ट सी प्रक्रिया 14182 संलग्न [पिन 14182] लिखना (3 , "\ T.file \ t \" एसी \ "\ n \ t.text \ n \ t.globl \ tfoo \ n" ..., 353) = 353 [पीआईडी 14182] +++ 0 ++ से निकल गया + --- SIGCHLD {si_signo = SIGCHLD, si_code = CLD_EXITED, si_pid = 14182, si_status = 0, si_utime = 0, si_stime = 1} --- प्रक्रिया 14183 संलग्न [पिन 14183] लिखें (3, "\ 0a.c \ 0foo \ 0 ", 9) = 9 [pid 14183] लिखना (3," यू \ 211 \ 345] \ 303 \ 0 जीसीसी: (उबुंटू 4.8.2-19ubunt "..., 42) = 42 [पीआईडी 14183] लिखें (3, "\ 24 \ 0 \ 0 \ 0 \ 0 \ 0 \ 0 \ 0 \ 1zR \ 0 \ 1 | \ 10 \ 1 \ 33 \ च \ 4 \ 4 \ 210 \ 1 \ 0 \ 0 \ 34 \ 0 \ 0 \ 0 \ 34 \ 0 \ 0 \ 0 "..., 56) = 56 .... [पीआईडी 14183] +++ 0+++ --- सीआईजीईएलएलडी से बाहर निकल (सीआईजीओएनएल = एसआईजीसीएलडीडी, सीआईसीओडीएड = सीएलडी_एक्सिड, सीआईपीआईडी = 14183, सीआईस्टैट = 0, si_utime = 0, si_stime = 0} --- +++ 0 +++
Comments
Post a Comment