2009-08-01 46 views
5

मैं प्रोग्रामिंग शुरू कर रहा हूं और के & आर के माध्यम से जा रहा हूं और सी सीखने के लिए। मैं कमांड लाइन तर्क (5.10) पर सेक्शन में प्राप्त कर चुका हूं लेकिन अब मैं स्टंप हूं। हर बार जब मैं एक प्रोग्राम को आज़माता और खोलता हूं तो मैंने कमांड लाइन तर्कों के साथ लिखा है, मुझे बताया गया है कि फाइल एक्स, एक्स तर्क है, मौजूद नहीं है।शुरुआती के एंड आर

`जीसीसी -ओ find.c

खुला खोजने परीक्षण

फ़ाइल/दस्तावेज़/Learning_C/परीक्षण

कोई सुझाव exist.` नहीं करता है? धन्यवाद

उत्तर

3

आप किस प्रणाली पर हैं? ,

gcc -o find find.c 
./find test 

As others have noted जब आप के साथ "./" अपने द्विआधारी उपसर्ग, वहाँ अभ्यस्त किसी भी नामकरण संघर्ष हो: यूनिक्स/लिनक्स में आप संकलन & के माध्यम से अपने निष्पादन चलाते हैं। हालांकि, अगर आप अपने $PATH में find सुलभ बना दिया है, तो आप find और test सबसे * nix वितरण के साथ --standard कार्यक्रमों ... हो सकता है कि आप अधिक विशिष्ट नाम चुन सकते हैं (यानी ./myFind testArg)

साथ कुछ मतभेद हो सकता है
+0

उपसर्ग "./" * कम से कम लिनक्स पर, वर्तमान फ़ोल्डर "के रूप में महत्वपूर्ण है। आमतौर पर पैथ चर का हिस्सा नहीं होता है, इस प्रकार सिस्टम को द्विआधारी नहीं मिलेगी। यदि आपके द्वारा उत्पादित निष्पादन योग्य आपके पास सिस्टम पर एक मानक प्रोग्राम (जैसे "परीक्षण") के समान नाम है, तो "./" सिस्टम प्रोग्राम का उपयोग करेगा, न कि आपके द्वारा संकलित किए गए। – bluebrother

+0

आपने जो कहा मैंने गलत समझा। मैंने किया/नहीं/कहता है "इससे कोई फर्क नहीं पड़ता कि आप" ./ "के साथ उपसर्ग करते हैं या नहीं ... मैं बस यह कह रहा था कि आपने क्या कहा है: यदि आप" ./ "के साथ उपसर्ग करते हैं, तो नामकरण टकराव नहीं होगा खोजने और परीक्षण के साथ। – Pete

+0

@Pete, दूसरों द्वारा प्रदान किए गए उत्तरों में स्लिपिंग के लिए धन्यवाद। सबसे पहले सिस्टम कमांड के साथ टकराव के नाम के साथ संघर्ष करें और फिर ./ dereference के उपयोग के साथ। संपादन महिलाओं और gents ... –

1

अपना आउटपुट निष्पादन योग्य एक अलग नाम देने का प्रयास करें।

मुझे संदेह है कि सिस्टम को निष्पादित करने वाले कमांड को 'test' नामक निर्देशिका की तलाश है।

या क्रियान्वित करने

./find toto 

संपादित करें द्वारा मजबूर कोशिश: आदेश को ./ prepending महत्वपूर्ण है क्योंकि यह खोल बताता वर्तमान निर्देशिका के रूप में पहली करने के लिए विरोध में खोज निष्पादित करने के लिए 'लगता है 'जो आपके पाथ में मौजूद है। आमतौर पर यह अनुशंसा की जाती है कि आपके पास नहीं है। (वर्तमान निर्देशिका) सुरक्षा कारणों से आपके पीएटीएच में।

एचटीएच

पीएस के & आर के माध्यम से काम करने के लिए अच्छा कहने के लिए भूल गए। मैंने सी में तीस साल तक काम करने के बाद ही ऐसा करना समाप्त कर दिया और दिमाग को वापस लाने और ताज़ा करने के लिए अच्छा था!

0

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

+0

यह शायद एक टिप्पणी होनी चाहिए .. – sud03r

+0

टिप के लिए धन्यवाद। – blacky