लिनक्स टर्मिनल में संकलित सी प्रोग्राम को कैसे निष्पादित करें


-1
#include<stdio.h>
main()
    {
        int a,b,c;
        printf("enter the value of a and b for addition:\n");
        scanf("%d %d",&a,&b);
        c=a+b;
        printf("Addition of the numbers is:%d",c);
    }

Gedit में प्रोग्राम टाइप करने के बाद मैंने आउटपुट कमांड दिया gcc o- filename filename.cफिर मैंने कमांड दिया ./filenameफिर यह बता permission deniedरहा है फिर मैंने फिर से कमांड दिया chmod +x filename। तब कंप्यूटर यह नहीं कह रहा हैsyntax error near unexpected token '"(enter values of a and b for addition:\n");

जवाबों:


2

आप गलत फ़ाइल को चलाने का प्रयास कर रहे हैं। संकलक करने के लिए अपने कार्यक्रम में लिखा था filename, लेकिन सभी त्रुटि संदेश देखने के रूप में यदि आप को चलाने के लिए कोशिश कर रहे थे स्रोत कोड , filename.cसीधे।

(सुनिश्चित करें कि आपने कंपाइलर को सही ढंग से चलाया है; भी - यह gcc -o, नहीं gcc o-।)


आपकी परिकल्पना इस तथ्य से समर्थित है कि दिए गए gccआह्वान में यथोचित सफलता नहीं मिली; gcc लगभग निश्चित रूप से o-(जब तक कि मान्य स्रोत कोड फ़ाइलों का नाम नहीं है o-, filenameऔर filename.cवर्तमान निर्देशिका में, उस स्थिति में आउटपुट बाइनरी का नाम a.outऐतिहासिक कारणों के लिए होगा ) पर रखा गया है । (हाहा, मैं अब देख रहा हूं कि आपने अपने उत्तर में उस समय का संपादन किया था जब मैं टिप्पणी लिखने में व्यस्त था।)
एक CV

0

आपने गलत इनपुट का उपयोग किया gcc o- filename filename.c, सबसे पहले यह होना चाहिए -o( o-जैसा कि आपने गलत तरीके से प्रदान नहीं किया गया है), और इस क्रम में लिखना बेहतर है gcc filename.c -o filename

फिर ./filename, chmod +x filenameबाद की जरूरत नहीं है gcc


फ़ंक्शन की सूची के बाद -o तर्क प्रदान करना बेहतर क्यों है?
Aviator45003

तकनीकी रूप से यह कोई मायने नहीं रखता है, यह सिर्फ एक शैली है, बाएं से दाएं: इनपुट -> आउटपुट। मेरा मानना ​​है कि यह बेहतर दृश्य है।
रुसलान गेरासिमोव

आप ऐसा नहीं कहते। आप कहते हैं कि यह बेहतर है, ऐसा नहीं है कि यह शैलीगत रूप से अधिक समझ में आता है।
एविएटर ४५००३
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.