टर्मिनल का उपयोग करके मैक ओएस एक्स पर सी प्रोग्राम कैसे चलाएं?


81

मैं सी। के लिए नया हूँ। यहाँ मेरा "हैलो, दुनिया है!" कार्यक्रम।

#include <stdio.h>

int main(void)    
{
  printf("Hello, world!\n");
  return 0;
}

जब मैं इसे टर्मिनल का उपयोग करके इसे चलाने की कोशिश करता हूं तो यह कहता है:

MacBook-Pro-MacBook:~ macbook$ /Users/macbook/Desktop/peng/Untitled1
-bash: /Users/macbook/Desktop/peng/Untitled1: Permission denied
MacBook-Pro-MacBook:~ macbook$ 

क्यों?



फाइल "Untitled1" क्या है? क्या फ़ाइल में वह स्रोत है जिसे आपने प्रश्न में शामिल किया है या कुछ और?
पैसाबा पोर एक्वी

pintfद्वारा बदलें printf, एक ही लाइन पर int और main रखें।
वाल्टर ए

जवाबों:


165

सबसे पहले अपना प्रोग्राम सेव करें program.c

अब आपको कंपाइलर की आवश्यकता है, इसलिए आपको ऐप स्टोर पर जाकर Xcode इंस्टॉल करना होगा जो कि Apple का कंपाइलर और डेवलपमेंट टूल है। ऐप स्टोर कैसे खोजें ? एक है "चर्चित खोज" टाइपिंग द्वारा Spaceऔर लिखना प्रारंभ करें App Storeऔर हिट Enterजब इसे सही ढंग से अनुमान लगाता है।

ऐप स्टोर इस तरह दिखता है:

यहाँ छवि विवरण दर्ज करें

ऐप स्टोर पर Xcode ऐसा दिखता है :

यहाँ छवि विवरण दर्ज करें

फिर आपको टर्मिनल में कमांड-लाइन टूल स्थापित करने की आवश्यकता है । टर्मिनल कैसे शुरू करें ? आपको एक और "स्पॉटलाइट सर्च" करने की आवश्यकता है , जिसका अर्थ है कि आप टाइप Spaceकरें Terminalऔर टाइप करना शुरू करें और Enterजब यह अनुमान लगाए तो हिट करें Terminal

अब इस तरह कमांड लाइन उपकरण स्थापित करें:

xcode-select --install

फिर आप gccबड़ी, बदसूरत सॉफ़्टवेयर डेवलपमेंट GUI को फायर किए बिना बस अगली पंक्ति के अनुसार अपना कोड संकलित कर सकते हैं Xcode:

gcc -Wall -o program program.c

नोट : OS X के नए संस्करणों पर, आप clangइसके बजाय इसका उपयोग करेंगे gcc:

clang program.c -o program

तब आप इसे चला सकते हैं:

./program
Hello, world!

यदि आपका प्रोग्राम C ++ है, तो आप संभवतः इनमें से किसी एक कमांड का उपयोग करना चाहेंगे:

clang++ -o program program.cpp
g++ -std=c++11 -o program program.cpp
g++-7 -std=c++11 -o program program.cpp

6
इसे बनाओ gcc -Wall -o program program.cऔर आपको सहायक संकलक चेतावनी मिलेगी (हालांकि उन सभी को नहीं) जो आपको बताएंगे कि आपके कोड काम नहीं कर रहे हैं।
Schwern

अच्छा जवाब है, लेकिन ध्यान दें कि क्लैंग को स्पष्ट रूप से आह्वान करने की कोई आवश्यकता नहीं है - जीसीसी वैसे भी क्लैंग के लिए सहानुभूति है।
पॉल आर

51

पहले सुनिश्चित करें कि आप अपना कार्यक्रम सही करें:

#include <stdio.h>

int main(void) {
   printf("Hello, world!\n"); //printf instead of pintf
   return 0;
}

फ़ाइल को इस रूप में सहेजें HelloWorld.cऔर टर्मिनल में टाइप करें:

gcc -o HelloWorld HelloWorld.c

बाद में बस इस तरह से निष्पादन योग्य चलाएं:

./HelloWorld

आपको दिखना चाहिए Hello World!


7
"फ़ाइल को Untitled.c के रूप में सहेजना" बेहतर है । इससे भी बेहतर अभी तक: एक अधिक सार्थक फ़ाइल नाम का उपयोग करें।
23

11

2019 में काम करना डिफ़ॉल्ट रूप से, आप टर्मिनल का उपयोग करके अपने name.c को संकलित कर सकते हैं

 cc name.c

और अगर आपको लिखने के लिए बस चलाने की आवश्यकता है

 ./name.out

2
इसका दिखावा f "{name} .out" के बजाय "a.out" के रूप में हो रहा है, कोई फर्क नहीं पड़ता कि नाम क्या है। किसी कारण से इसका हमेशा "ए"।
राजहंस

1
@Flaming_Dorito, निष्पादन योग्य ऑब्जेक्ट फ़ाइल बनाने के लिए डिफ़ॉल्ट व्यवहार है। हालाँकि आप इसे अपनी पसंद का नाम देना चुन सकते हैं। टाइप -> cc -o name name.c
यश तमकुवाला

@YashTamakuwala ओह मैं देख रहा हूँ। धन्यवाद
Flaming_Dorito

9

एक "सी-प्रोग्राम" नहीं चलाया जाना चाहिए। यह एक "निष्पादन योग्य" कार्यक्रम में संकलित करने के लिए है, जो तब आपके टर्मिनल से चलाया जा सकता है। उसके लिए आपको एक कंपाइलर की जरूरत है।

ओह, और आपके अंतिम प्रश्न ("क्यों?") का उत्तर यह है कि जिस फ़ाइल को आप निष्पादित करने का प्रयास कर रहे हैं, उसमें निष्पादन योग्य अधिकार सेट नहीं है (जो कि आमतौर पर एक कंपाइलर स्वचालित रूप से द्विआधारी के साथ करता है, जो यह बताता है कि आप कोशिश कर रहे थे स्रोत कोड को स्क्रिप्ट के रूप में चलाने के लिए, इसलिए संकलन पर संकेत।)


1
सबसे बढ़िया उत्तर! A "C-program" is not supposed to be run.
एडी

4

यह करने के लिए:

  1. खुला टर्मिनल

  2. टर्मिनल में टाइप करें nano:; जो टर्मिनल के लिए उपलब्ध एक टेक्स्ट एडिटर है। जब आप ऐसा करते हैं। ऐसा कुछ दिखाई देगा।

  3. यहां आप अपने Cप्रोग्राम में टाइप कर सकते हैं

  4. टाइप इन control(^) + x-> जिसका मतलब है बाहर निकलना।

  5. फाइल yको सेव करने के लिए टाइप करके फाइल को सेव करें

  6. फ़ाइल का नाम लिखें; उदाहरण के लिए helloStack.c( .c जोड़ना न भूलें )

  7. जब यह दिखाई दे, तो टाइप करें gcc helloStack.c

  8. तब ./a.out: यह आपको अपना परिणाम देना चाहिए !!

3

मैकोस में सी-प्रोग्राम संकलित करने के लिए बस नीचे दिए गए चरणों का पालन करें

टर्मिनल में cd कमांड का उपयोग करने के बाद अपने c- प्रोग्राम लोकेशन पर जाएं और
फिर नीचे दिए गए कमांड
को फाइलनाम बनाने के लिए
टाइप करें
।/filename।


2

अपने नवीनतम macOS पर एसी प्रोग्राम को संकलित करने के लिए, फ़ाइल को .c एक्सटेंशन के साथ सहेजने के बाद और फ़ाइल को सहेजे गए पथ पर पहुंचने पर टर्मिनल में निम्नलिखित टाइप करें:

cc yourfilename.c

एक बार जब आप संकलन के बाद सभी त्रुटियों की जाँच कर लें (यदि कोई है), तो कोड को निष्पादित करने के लिए निम्नलिखित टाइप करें:

./a.out

ये आदेश macOS Mojave पर परीक्षण किए गए हैं और पूरी तरह से ठीक काम कर रहे हैं, चीयर्स कोडिंग!


0

उत्तर है chmod 755 हैलो - यह फ़ाइल को निष्पादन योग्य बनाता है ... यह हास्यास्पद है, इसलिए किसी ने भी इसका उत्तर नहीं दिया। मुझे MacOS पर वही समस्या थी, जो अब हल हो गई है।

nano hello.c हेल्लो चामॉड 755 हेलो बनाते हैं फिर आप इसे चलाते हैं

clang --version Apple LLVM संस्करण 8.0.0 (clang-800.0.42.1) लक्ष्य: x86_64-apple-darwin15.6.0

कुछ भी स्थापित नहीं किया गया था, नैनो मेक (क्लैंग) चामोद - सभी मैकओएस के अंदर पहले से ही


-1

1) सबसे पहले आपको मैक के लिए एक जीसीसी कंपाइलर स्थापित करना होगा (Google इसे और इसे नेट से इंस्टॉल करें)

2) उस रास्ते को याद रखें जहां आप सी फाइल को स्टोर कर रहे हैं

3) टर्मिनल पर जाएं और पथ सेट करें

जैसे- यदि आपने डॉक्यूमेंट फोल्डर में एक नए फोल्डर ProgramC में सेव किया है

   then type this in Terminal
    cd Document
    cd ProgramC

4) अब आप देख सकते हैं कि आप उस फ़ोल्डर में हैं जहाँ आपने अपना C प्रोग्राम सेव किया है (आप अपने प्रोग्राम को Hello.c के रूप में सेव करें)

5) अब अपने प्रोग्राम को कंपाइल करें

   make Hello
   ./hello
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.