আইফোন কি সি ++ এ প্রোগ্রাম করা সম্ভব?


124

আমি সমস্ত ভাষার বৈচিত্র্যের জন্য, তবে উদ্দেশ্য সি উন্মাদ। সুতরাং আমি কৌতূহলী: কোকো এপিআই ইত্যাদি ব্যবহার করার সময় আইফোন অ্যাপ্লিকেশনগুলি কি সি ++ দিয়ে কোড করা সম্ভব?

উত্তর:


57

সংক্ষিপ্ত উত্তর, হ্যাঁ, সাজান। আপনি অবজেক্টিভ-সি ++ ব্যবহার করতে পারেন, যা আপনি অ্যাপল বিকাশকারী সংযোগে পড়তে পারেন

আপনি যদি ইতিমধ্যে সি ++ জানেন তবে অবজেক্টিভ-সি শেখা খুব সহজ হবে, যদি আপনি চেষ্টা করার সিদ্ধান্ত নেন। সেই বিষয়ে আরও তথ্য এডিসিতেও রয়েছে।


1
অবজেক্টিভ-সি শিখতে অভিজ্ঞ সি ++ প্রোগ্রামারদের লক্ষ্য করে আপনি কি কোনও ওয়েবসাইট বা বইয়ের প্রস্তাব দিতে পারেন? আমি কয়েকটি পরীক্ষামূলক অ্যাপ্লিকেশন একসাথে ম্যাস করতে পেরেছি, তবে আমি সিনট্যাক্সটি কিছুটা পিছনের দিকে পেয়েছি এবং আমি নিশ্চিত যে আমি উদ্দেশ্যমূলক-সি সম্পর্কে জ্ঞানের অভাবে মেমরির ফাঁস ইত্যাদি নিয়ে যাচ্ছি
লিয়া হাইস

3
@ লিয়াহেস "ফ্রি সি ++ অবজেক্টিভ-সি" নামক একটি বিনামূল্যে বই book ধরে নিই যে আপনি সি ++ জানেন এবং তারপরে আপনাকে উদ্দেশ্য-সিতে কীভাবে জিনিসগুলি আলাদাভাবে করা হয় তা আপনাকে বলে দেয়। pierre.chachatelier.fr/programration/fichiers/cpp-objc-en.pdf (এটি মূল ফরাসী এর একটি ইংরেজি অনুবাদ)
olafure

61

যদিও উদ্দেশ্য-সিটি শুরুতে সত্যই "উন্মাদ" বলে মনে হচ্ছে, আমি আপনাকে এটির সাথে লেগে থাকতে উত্সাহিত করি। একবার আপনার "এ-হা" মুহুর্তটি হয়ে গেলে হঠাৎ করেই এটি সমস্ত অর্থবোধ করা শুরু করে। আমার জন্য কোকো ফ্রেমওয়ার্কগুলি, ভাষা এবং এটি কীভাবে একসাথে খাপ খায় সে সম্পর্কে বুঝতে 2 ঘন্টার ফোকাসযুক্ত অবজেক্টিভ-সি ঘনত্বের সময় লেগেছে। তবে একবার আমি সত্যিই এটি "পেয়েছিলাম", এটি খুব উত্তেজনাপূর্ণ ছিল।

এটি ক্লিচ লাগছে, তবে এটি সত্য। বের কর.

অবশ্যই, আপনি যদি সি ++ লাইব্রেরি বা বিদ্যমান সি ++ কোড আনছেন তবে আপনি সেগুলি মডিউলগুলি অবজেক্টিভ-সি / উদ্দেশ্য-সি ++ ব্যবহার করতে পারেন with


42

আমি ইউআইকে একসাথে চড় মারার জন্য অবজেক্টিভ-সি ব্যবহার করি।
কোডটির শক্ত সাহস এখনও সি ++ তে লেখা আছে।

এটি ইউজেক্টিভ-সি ইউআই ইন্টারফেস এবং ইভেন্টগুলি পরিচালনা করার মূল উদ্দেশ্য।
এবং এটি সেই উদ্দেশ্যে দুর্দান্ত কাজ করে।

আমি কোডের ব্যাকএন্ড হিসাবে এখনও সি ++ পছন্দ করি (তবে এটি মূলত আমার পছন্দ সি ++) আপনি খুব সহজেই অ্যাপ্লিকেশনটির ব্যাকএন্ডের জন্য উদ্দেশ্য-সি ব্যবহার করতে পারেন।


9
@ স্পঙ্কি: কীভাবে আমি ঠিক তাই করি। আপনি * .m ফাইলে সাধারণ সি লিখতে পারেন। আপনি *। মিমি ফাইলগুলিতে সাধারণ সি ++ লিখতে পারেন (উদ্দেশ্য-সি ++)। অবজেক্টিভ-সি (++) ফাইলের অভ্যন্তরে আপনি #include <XXX>সি / সি ++ ফাইলের মতোই সাধারণ ব্যবহার করতে পারেন ।
মার্টিন ইয়র্ক

28

প্রথমে, অবজেক্টিভ-সিটি "উন্মাদ" বলে হাস্যকর-আমার কাছে বজরেন স্ট্রস্ট্রপ সি ++ বই রয়েছে যা 1020 পৃষ্ঠায় রয়েছে। উদ্দেশ্য-সি তে অ্যাপলের পিডিএফ 141।

আপনি যদি ইউআইকিট ব্যবহার করতে চান তবে সি ++ তে আপনার পক্ষে খুব কিছু করা খুব কঠিন। অ্যাপল এর ইউআই অনুসারে যে কোনও গুরুতর আইফোন অ্যাপ্লিকেশনটির অবশ্যই ইউআই অংশগুলি উদ্দেশ্য-সিতে লেখা উচিত। আপনি যদি ওপেনজিএল গেমটি লিখে থাকেন তবেই আপনি প্রায় পুরোপুরি সি / সি ++ এ আঁকড়ে থাকতে পারেন।


30
কম ডকুমেন্টেশন কখন থেকে একটি ভাল জিনিস ছিল? "সি ++ প্রোগ্রামিং ল্যাঙ্গুয়েজ" খুব পুঙ্খানুপুঙ্খ এবং এটি এসটিএলেরও দলিল করে documents
টিএমএমএম

2
@ টিম্ম্ম্ম: যেহেতু কেএন্ডআর তাদের বইয়ের সামনের বিষয়গুলিতে সেই বিষয়টি তুলে ধরেছে। অবজেক্টিভ-সি হ'ল সি ++ এর চেয়ে অনেক ছোট ভাষা, একই একই সুবিধার অনেকগুলি (এবং এর নিজস্ব আরও কিছু)। অবশ্যই সবকিছুর ট্রেড অফস। তবে নূন্যতম ডকুমেন্টেশন ওবজে-সি অভিজ্ঞ সি (বা সি ++) লোকেদের সাথে গতি বাড়িয়ে তুলতে বেশ সহজ করে তোলে।
বেন জোটো

62
দুঃখিত তবে ওবিজেসি পাগল। কার্যকারিতা ঘোষণা করার সম্পূর্ণ পৃথক উপায়ে জোর দেওয়া, বন্ধনী ব্যবহার। এটি কোনও লাভের জন্য আলাদা হচ্ছে। তারা হাস্যকর সিনট্যাক্স ছাড়াই একই কার্যকর ভাষার খসড়া তৈরি করতে পারত। তারা না করতে বেছে নিয়েছে। এইভাবে এটি উন্মাদ।
Rhubarb

13
@ রবার্ব - যদিও আমি উদ্দেশ্য-সি পছন্দ করি তবে আমাকে একমত হতে হবে যে এটি অদ্ভুত বাক্য গঠনটি কোনও উদ্দেশ্য করে না।
রাফেল

@ রবার্ব, ইউপ, মনে রাখবেন অ্যাপল হ'ল সেই সংস্থাটি সেই উন্মাদনাটি নিয়ে এসেছিল এবং অ্যাপল আলাদা হওয়ার একক উদ্দেশ্যে আলাদা।
সানরেমে

14

এর কিছু অভিজ্ঞতা থাকার পরে আপনি অবশ্যই আপনার "কোর" কোডের জন্য সি ++ কোড ব্যবহার করতে পারেন তবে আইফোন নির্দিষ্ট যে কোনও উদ্দেশ্যে আপনাকে উদ্দেশ্য-সি ব্যবহার করতে হবে।

উদ্দেশ্য-সি-কে সি ++ এর মতো কাজ করতে বাধ্য করার চেষ্টা করবেন না। প্রথমে এটি আপনার কাছে মনে হবে এটি সম্ভব, তবে ফলাফলযুক্ত কোডটি কোকোর সাথে সত্যিই ভাল কাজ করবে না এবং আপনি যা করছেন তা নিয়ে আপনি খুব বিভ্রান্ত হবেন। চারদিকে কোনও সি ++ ছাড়াই, কীভাবে জিইউআই এবং আইফোন অ্যাপ্লিকেশন তৈরি করতে হবে, তারপরে আপনার সি ++ বেসে লিঙ্ক করুন সঠিকভাবে শেখার জন্য সময় নিন।


3

কোকো এপিআইয়ের সাথে ইন্টারফেস করতে আপনাকে উদ্দেশ্য সি ব্যবহার করতে হবে, সুতরাং কোনও বিকল্প নেই। অবশ্যই, আপনি পর্দার আড়ালে আপনার পছন্দমতো সি ++ ব্যবহার করতে পারেন (উদ্দেশ্য সি ++ এটি সহজ করে তোলে)।

এটি সত্যিই একটি উন্মাদ ভাষা, তবে এটিও ... আপনি কিছুটা অভ্যস্ত হয়ে উঠলে এটি ব্যবহার করার মতো মজা। :-)


3

আমি সি ++ সম্পর্কে নিশ্চিত নই তবে আপনি মনো # টাচ নামে একটি পণ্য ব্যবহার করে অবশ্যই সি # তে আইফোন অ্যাপ্লিকেশনগুলি কোড করতে পারেন ।

মনো টাচ বনাম ওবজ-সি সম্পর্কে বিস্তারিত আলোচনার জন্য আপনি এই পোস্টটি দেখতে পারেন: মনো টাচ এবং উদ্দেশ্য-সি এর মধ্যে কীভাবে সিদ্ধান্ত নেবেন?


2

আমি জাভাতে আইওএস 6 তে লিখিত একটি গণনা-নিবিড় অ্যান্ড্রয়েড অ্যাপ পোর্ট করার প্রক্রিয়াধীন। আমি জাভা থেকে সি ++ তে নন-ইউআই অংশগুলি পোর্ট করে, ওবজে-সিতে (ন্যূনতম) ইউআই অংশগুলি লিখে, এবং মানকে সি / সি ++ কৌশল ব্যবহার করে একটি (ছোট) সি ইন্টারফেসে মোড়ক করে যাচ্ছি এটি ওবজ-সি থেকে অ্যাক্সেস করা যেতে পারে, যা সি এর সুপারস্টেটের পরে রয়েছে is

এটি এখনও অবধি কার্যকর হয়েছে, এবং আমি কোনও গোটাচসের মুখোমুখি হই নি। এটি একটি বৈধ পদ্ধতির বলে মনে হচ্ছে, যেহেতু এক্সকোড আপনাকে সি ++ ক্লাসের পাশাপাশি ওবজ-সি ক্লাস তৈরি করতে দেয় এবং কিছু সরকারী নমুনা কোড এভাবে কাজ করে। এটি করার জন্য আমাকে কোনও অফিশিয়ালি সমর্থিত ইন্টারফেসের বাইরে যেতে হয়নি।

এক্সকোডে ইন্টারফেস নির্মাতার দ্বারা আপনাকে দেওয়া সহায়তার নিরিখে সি ++ এ আমার বাকী ইউআই কোডটি লেখার থেকে অনেক কিছুই পাওয়া যাবে বলে মনে হয় না, তাই আমার উত্তরটি হ'ল আপনি সি ++ ব্যবহার করতে পারবেন আপনার সমস্ত অ্যাপ্লিকেশন, বা এটি যথাযথ / সুবিধাজনক হিসাবে দেখতে পান।


2

হ্যাঁ তবে আপনি ভাবছেন যে আপনি খুব সহজ প্রোগ্রাম না লিখলে আপনি প্রতিটি ধরণের প্রোগ্রাম একক ভাষায় প্রোগ্রাম করতে পারবেন এটি একটি ত্রুটিযুক্ত ধারণা। সি সি #। নেট এর জন্য হ'ল উদ্দেশ্য সি, নেট কাজের জন্য সঠিক সরঞ্জামটি ব্যবহার করুন, ব্রিজিং কোড লেখার মাধ্যমে সি ++ কোকোয় ইন্টারেক্ট করার চেষ্টা করা এবং কোকো প্রয়োজনীয়তা অনুসারে সি ++ কোড আচরণ করার চেষ্টা করা সি -++ আশা করাও ভাল ধারণা নয় উদ্দেশ্য সি থেকে পারফরম্যান্স হয়। আপনার বিদ্যমান দক্ষতাগুলি বিবেচনায় রেখে অ্যাপের নকশা এবং আর্কিটেকচারের বিন্যাস করার চেষ্টা করা উচিত এবং সেই অংশটি কোন ভাষাতে লিখতে হবে তা নির্ধারণ করুন then


0

আমি বর্তমানে একটি উদ্দেশ্য-সি ++ ফ্রেমওয়ার্ক লিখছি অবজেক্টিভ-এক্স, যা সিওর সি ++ আইফোন প্রোগ্রামিংকে সম্ভব করে তোলে। আপনি এটির মতো করতে পারেন:

#import "ObjectiveX.h"

void GUIApplicationMain() {    
    GUIAlert Alert;
    GUILabel Label;
    GUIScreen MainScreen;

    Alert.set_text(@"Just a lovely alert box!");
    Alert.set_title(@"Hello!");
    Alert.set_button(@"Okay");
    Alert.show();

    Label.set_text(@"Ciao!");
    Label.set_position(100, 200, 120, 40);

    MainScreen.init();
    MainScreen.addGUIControl(Label.init());    
}

এবং এটি জিসিসির উপযুক্ত কমান্ডলাইন বিকল্পগুলি ব্যবহার করে সংকলন করুন। আমি ইতিমধ্যে এই হেলিওর্ল্ড অ্যাপটি সংকলন করেছি এবং এটি একটি কমনির মতো w0rkX0rz। ;-) এটি শীঘ্রই গুগলকোডে উপলভ্য হবে। অবজেক্টিভ-এক্স এর জন্য অনুসন্ধান করুন বা http://infotronix.orgfree.com/objectivex প্রায় দেখুন। এক সপ্তাহ পরে!

আপডেট করা (তবে আপাতদৃষ্টিতে নিষ্ক্রিয়) ইউআরএল: http://code.google.com/p/objectivex/


4
এটি উপলব্ধ না হওয়া অবধি পোস্টিং নিয়ে অপেক্ষা করবেন না কেন?
জর্জি ফ্রিজচে

8
দুটি লিঙ্কই এখন 404
ঝাও জিয়াং

1
সোর্সফোর্সের মতে: "2014-01-24 পর্যন্ত, এই প্রকল্পটি আর সক্রিয় বিকাশের অধীনে নেই" " সোর্সফোর্জ.নেট
প্রকল্পগুলি / উদ্দেশ্যমূলক

0

এটি কিছুটা অফটোপিক হতে পারে তবে যাইহোক। আপনি সরাসরি iOS ডিভাইসে সি ++ প্রোগ্রাম করতে পারেন। CppCode আইওএস অ্যাপ্লিকেশনটি দেখুন - http://cppcode.info । আমি বিশ্বাস করি এটি পরে সি এবং সি ++ এবং উদ্দেশ্য-সি শিখতে সহায়তা করে।

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.