Objective-C Language ट्यूटोरियल
उद्देश्य-सी भाषा के साथ शुरुआत करना
खोज…
संस्करण
नमस्ते दुनिया
यह कार्यक्रम "हैलो वर्ल्ड!"
#import <Foundation/Foundation.h>
int main(int argc, char * argv[]) {
NSLog(@"Hello World!");
}
#import
एक पूर्व-प्रोसेसर निर्देश है, जो इंगित करता है कि हम उस फ़ाइल से प्रोग्राम में आयात या जानकारी शामिल करना चाहते हैं। इस स्थिति में, कंपाइलर Foundation.h
की सामग्री को Foundation
फ्रेमवर्क में फाइल के शीर्ष पर कॉपी करेगा। #Import और #include के बीच मुख्य अंतर यह है कि #import "स्मार्ट" है, न कि उन रिप्रोंसेस फाइल्स को, जो पहले से ही दूसरे #includes में शामिल हो चुकी हैं।
सी भाषा प्रलेखन main
कार्य की व्याख्या करता है।
NSLog()
फ़ंक्शन कंसोल को प्रदान की गई स्ट्रिंग को प्रिंट करेगा, साथ ही कुछ डिबगिंग जानकारी भी। इस मामले में, हम एक उद्देश्य-सी स्ट्रिंग शाब्दिक का उपयोग करते हैं: @"Hello World!"
। सी में, आप इसे "Hello World!"
हालाँकि, Apple का फाउंडेशन फ्रेमवर्क NSString
वर्ग जोड़ता है जो बहुत उपयोगी कार्यक्षमता प्रदान करता है, और इसका उपयोग NSLog द्वारा किया जाता है। NSString
का एक उदाहरण बनाने का सबसे सरल तरीका इस प्रकार है: @" string content here "
।
तकनीकी रूप से, NSLog () Apple के फाउंडेशन फ्रेमवर्क का हिस्सा है और वास्तव में ऑब्जेक्टिव-सी भाषा का हिस्सा नहीं है। हालाँकि, फाउंडेशन फ्रेमवर्क पूरे उद्देश्य-सी प्रोग्रामिंग में सर्वव्यापी है। चूंकि फाउंडेशन फ्रेमवर्क ओपन-सोर्स नहीं है और इसे ऐप्पल डेवलपमेंट के बाहर उपयोग नहीं किया जा सकता है, ओपेनस्टेप और जीएनयूएसटीपी से जुड़े फ्रेमवर्क के लिए ओपन-सोर्स विकल्प हैं।
कार्यक्रम का संकलन
यह मानते हुए कि हम अपने हैलो वर्ल्ड प्रोग्राम को संकलित करना चाहते हैं, जिसमें एक एकल hello.m
फ़ाइल शामिल है, निष्पादन योग्य को संकलित करने के लिए कमांड:
clang -framework Foundation hello.m -o hello
तब आप इसे चला सकते हैं:
./hello
यह आउटपुट होगा:
Hello World!
विकल्प हैं:
-framework
: प्रोग्राम को संकलित करने के लिए उपयोग करने के लिए एक रूपरेखा निर्दिष्ट करता है। चूंकि यह कार्यक्रम फाउंडेशन का उपयोग करता है, इसलिए हम फाउंडेशन ढांचे को शामिल करते हैं।-o
: यह विकल्प इंगित करता है कि हम अपने प्रोग्राम को आउटपुट करने के लिए किस फाइल पर जाना चाहते हैं। हमारे मामले मेंhello
। यदि निर्दिष्ट नहीं है, तो डिफ़ॉल्ट मानa.out
।