উইন্ডোজ জন্য উদ্দেশ্য সি


230

উইন্ডোজ প্ল্যাটফর্মে অবজেক্টিভ-সি লেখার সর্বোত্তম উপায় কী হবে?

সাইগউইন এবং জিসিসি? আমি কি কোনও উপায়ে এটি ভিজ্যুয়াল স্টুডিওতে সংহত করতে পারি?

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

এই ধরণের জিনিসগুলি করার বা ব্যাখ্যা করার জন্য কি কোনও ভাল অনলাইন বা বইয়ের সংস্থান সম্পর্কে সচেতন?


5
আপনি যদি এটি কেবল আইওএসের জন্য করছেন, আপনি প্রধানমন্ত্রী ব্যাটি দ্বারা আইওএস বিল্ড এনভায়রনমেন্ট ব্যবহার করতে পারেন ...
কোল জনসন

উত্তর:


146

পূর্ববর্তী দুটি উত্তরের বিস্তৃতি, আপনি যদি কেবলমাত্র উদ্দেশ্য-সিটি চান তবে কোকোয়া ফ্রেমওয়ার্কগুলির কোনও নয়, তবে জিসিসি যে কোনও প্ল্যাটফর্মে কাজ করবে। আপনি এটি সাইগউইনের মাধ্যমে ব্যবহার করতে পারেন বা মিনজিডব্লিউ পেতে পারেন। তবে, আপনি যদি কোকোয়া ফ্রেমওয়ার্কগুলি চান বা সেগুলি অন্তত একটি যুক্তিসঙ্গত উপসেট চান তবে GNUStep এবং কোকোট্রন আপনার সেরা বেট।

কোকোট্রন প্রচুর স্টাফ প্রয়োগ করে যা GNUStep না করে, যেমন CoreGraphics এবং CoreData, যদিও আমি কোনও নির্দিষ্ট কাঠামোর উপর তাদের বাস্তবায়ন কীভাবে সম্পন্ন করব তা নিশ্চিত করে বলতে পারি না। তাদের লক্ষ্য হ'ল কোকোট্রনকে ওএস এক্স এর সর্বশেষতম সংস্করণে টু ডেট রাখুন যাতে কোনও কার্যকর ওএস এক্স প্রোগ্রাম উইন্ডোজে চলতে পারে। যেহেতু GNUStep সাধারণত gcc এর সর্বশেষতম সংস্করণ ব্যবহার করে, তারা উদ্দেশ্য-সি ++ এবং প্রচুর উদ্দেশ্য-সি 2.0 বৈশিষ্ট্যগুলির জন্য সমর্থন যোগ করে।

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

এটির মূল্যের জন্য, কোকোট্রনকে এমআইটি লাইসেন্সের অধীনে লাইসেন্স দেওয়া হয় এবং জিএনএসটেইপ এলজিপিএল এর অধীনে লাইসেন্স দেওয়া হয়।


1
আপনি সর্বদা ওপেন সোর্সযুক্ত কোকো ফ্রেমওয়ার্কগুলি পোর্ট করতে পারেন। কোরফাউন্ডেশন হচ্ছে উদাহরণ।
কোল জনসন

সমস্ত কোর ফাউন্ডেশন আইএস ওপেন সোর্স নয়। একটি বিশাল পরিমাণ বন্ধ উত্স।
উছুগাকা

এক্স'ড আমি জানি না কেন এই লোকটির সর্বোত্তম জবাব পেলেন তিনি এমনকি তিনি যে জিনিসটির কথা বলছেন সেটিও চেষ্টা করেন নি। বিএস উত্তরের জন্য তাদের একটি নতুন ব্যাজ তৈরি করা উচিত। কোন অপরাধ @ মাইকেল নেই। এটি একটি আকর্ষণীয় পড়া।
ওল্ফপ্যাক'08

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

89

আপনি উইন্ডোজ পরিবেশের মধ্যে উদ্দেশ্য সি ব্যবহার করতে পারেন। আপনি যদি এই পদক্ষেপগুলি অনুসরণ করেন তবে এটি ঠিক কাজ করা উচিত:

  1. পরিদর্শন GNUstep ওয়েবসাইট এবং ডাউনলোড GNUstep MSYS Subsystem(GNUstep জন্য MSYS), GNUstep Core(GNUstep জন্য লাইব্রেরি), এবংGNUstep Devel
  2. এই ফাইলগুলি ডাউনলোড করার পরে, সেই ক্রমে ইনস্টল করুন, অথবা আপনার কনফিগারেশন নিয়ে সমস্যা হবে
  3. C:\GNUstep\GNUstep\System\Library\Headers\Foundation1 এ নেভিগেট করুন এবং তা Foundation.hবিদ্যমান রয়েছে তা নিশ্চিত করুন
  4. একটি কমান্ড প্রম্পট খুলুন এবং এটি সঠিকভাবে ইনস্টল হয়েছে কিনা gcc -vতা পরীক্ষা করতে চালান GNUstep MSYS(যদি আপনি কোনও ফাইল ত্রুটি না পাওয়া পান তবে নিশ্চিত করুন যে binফোল্ডারটি GNUstep MSYSআপনার মধ্যে রয়েছে PATH)
  5. জিএনউস্টেপের কার্যকারিতা পরীক্ষা করতে এই সাধারণ "হ্যালো ওয়ার্ল্ড" প্রোগ্রামটি ব্যবহার করুন:

    #include <Foundation/Foundation.h>
    
    int main(void)
    {
        NSAutoreleasePool * pool = [[NSAutoreleasePool alloc] init];
        NSLog(@"Hello World!.");
        [pool drain];
     return;
    }
  6. কমান্ড প্রম্পটে ফিরে যান এবং cdযেখানে আপনি "হ্যালো ওয়ার্ল্ড" প্রোগ্রামটি সংরক্ষণ করেছেন এবং তারপরে এটি সংকলন করুন: 2

    gcc -o helloworld.exe <HELLOWORLD>.m -I /GNUstep/GNUstep/System/Library/Headers -L /GNUstep/GNUstep/System/Library/Libraries -std=c99 -lobjc -lgnustep-base -fconstant-string-class=NSConstantString
  7. অবশেষে, কমান্ড প্রম্পট থেকে এটি helloworldচালানোর জন্য টাইপ করুন

সর্বোত্তম, এবং উদ্দেশ্য-সি সঙ্গে মজা করুন!


দ্রষ্টব্য :

  1. আমি ডিফল্ট ইনস্টল করার পথটি ব্যবহার করেছি - সেই অনুযায়ী আপনার কমান্ড লাইনটি সামঞ্জস্য করুন
  2. আপনার ফোল্ডারের পথটিও আমার অনুরূপ নিশ্চিত করুন, অন্যথায় আপনি একটি ত্রুটি পাবেন

1
এটি প্রস্তাবিতটি আমার পিসিতে কাজ করতে পারেনি কারণ আমি ইতিমধ্যে জিএসসি ইনস্টল করেছি যা আমি নাসমের জন্য ব্যবহার করেছি। তাই আমি ঠিক সংশোধন gcc -o helloworld...করতে c:\gnustep\bin\gcc -o helloworld...এবং এটা কাজ করে। বিকল্পটি হ'ল পরিবেশগত পরিবর্তনগুলি পরিবর্তন করতে হবে যা আমি না করায় যেহেতু আমি কেবল দৃষ্টিভঙ্গি দেখেছি তাই পয়েন্ট উত্তরের জন্য টেশগুরুকে ধন্যবাদ জানাই।
মার্টিন বার্গার

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

যখন এই ইউ সি ব্যবহৃত হবে: \ gnustep \ bin \ gcc -o helloworld.exe helloworld.m -I / GNUstep / GNUstep / সিস্টেম / গ্রন্থাগার / শিরোনাম -L / GNUstep / GNUstep / সিস্টেম / লাইব্রেরি / লাইব্রেরি -std = c99 -lobjc - lgnustep-base -fconstant-string-class = NSConstant স্ট্রিং এটি আমার পক্ষে কাজ করে
ডালভিক

13

এছাড়াও:

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

http://www.cocotron.org/


4
কোকোট্রন প্রকল্পটি এক্সকোড থেকে ক্রস-সংকলন করার জন্য ডিজাইন করা হয়েছে, উইন্ডোজে লেখা হয়নি এবং সেখানে সংকলিত হয়েছে।
ড্যান উদে

2
এটি একটি ভাল উত্তর নয়, আমিও নিশ্চিত নই কেন ওপি কেন এটিকে 'উত্তর' হিসাবে বেছে নিয়েছে কারণ কোকোট্রন ম্যাকের জন্য এবং ওপি একটি উইন্ডোজ ভিত্তিক সমাধান চায়।
cbrulak

আপনি সঠিক - আমি যখন এটি পড়েছিলাম তখন আমি খুব উত্তেজিত হয়ে উঠলাম: "সাধারণ লক্ষ্যটি হ'ল যে কোনও কার্যকরী প্ল্যাটফর্মে সম্পূর্ণ সমর্থন সরবরাহ করা, প্রকল্পটি যতটা সম্ভব পোর্টেবল হওয়ার উদ্দেশ্যে করা হয়েছে However তবে, বেশিরভাগ কাজ এই মুহুর্তে মাইক্রোসফ্ট উইন্ডোজের জন্য সহায়তা সরবরাহের দিকে মনোনিবেশ করেছে particular
লুথার বাকের

13

WinObjC? আইওএসের জন্য উইন্ডোজ ব্রিজ (আগে 'প্রকল্প আইল্যান্ডউড' নামে পরিচিত)।

আইওএসের জন্য উইন্ডোজ ব্রিজ (উইনওবিজেসি নামেও পরিচিত) একটি মাইক্রোসফ্ট ওপেন সোর্স প্রকল্প যা ভিজ্যুয়াল স্টুডিও / উইন্ডোজের জন্য একটি উদ্দেশ্য-সি বিকাশের পরিবেশ সরবরাহ করে। এছাড়াও, উইনোবিজেসি আইওএস এপিআই সামঞ্জস্যতার জন্য সমর্থন সরবরাহ করে। যদিও এই শরত্কালের পরে চূড়ান্ত প্রকাশ ঘটবে (ব্রিজটি নতুন সরঞ্জাম সরঞ্জামের সুবিধা গ্রহণের অনুমতি দেয় যা আসন্ন ভিজ্যুয়াল স্টুডিও 2015 আপডেটের সাহায্যে প্রেরণ করবে),

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

সালমান আহমেদ iOS এর জন্য উইন্ডোজ সেতু উপর একটি মধ্যে গভীরতা পোস্টে হয়েছে http://blogs.windows.com/buildingapps/2015/08/06/windows-bridge-for-ios-lets-open-this-up/ আলোচনা সংকলক, রানটাইম, আইডিই ইন্টিগ্রেশন এবং সেতুটি কী এবং কী নয়। সর্বোপরি, আইওএস ব্রিজের উত্স কোডটি এখনই গিটহাবটিতে লাইভ

আইওএস ব্রিজ x86 এবং x64 প্রসেসরের আর্কিটেকচারের জন্য নির্মিত উইন্ডোজ 8.1 এবং উইন্ডোজ 10 অ্যাপ উভয়ই সমর্থন করে এবং শীঘ্রই আমরা সংযুক্তি অপ্টিমাইজেশন এবং এআরএমের জন্য সমর্থন যুক্ত করব যা মোবাইল সমর্থন যুক্ত করে।


9

কোকোট্রন প্রকল্প সম্পর্কে আমার মিশ্র অনুভূতি রয়েছে। আমি আনন্দিত যে তারা উত্স কোড প্রকাশ করছে এবং ভাগ করছে তবে আমি অনুভব করি না যে তারা সহজতম পদ্ধতিতে কাজ করছে।

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

তারা কোরফাউন্ডেশন লাভ করার জন্যও মাথা ঘামায় নি, এটি অ্যাপলও খোলা। আমি এ সম্পর্কে একটি প্রশ্ন পোস্ট করেছি তবে উত্তর পাই নি।

আমি মনে করি বর্তমান সেরা সমাধানটি হ'ল একাধিক উত্স (অ্যাপল, কোকট্রন, গ্নুস্টেপ) থেকে উত্স কোড নেওয়া এবং এটি আপনার যা প্রয়োজন তা একত্রিত করে merge আপনাকে প্রচুর উত্স পড়তে হবে তবে এটি শেষ ফলাফলের জন্য মূল্যবান হবে।


2
সংক্ষিপ্তসার হিসাবে, গ্রুপটিতে আপনার প্রশ্নের উত্তর না দেওয়ার জন্য দুঃখিত: এপিএসএল সাফল্য পেয়েছে এবং রানটাইম এবং সিএফ উভয়ই তাদের অধীনে রয়েছে।
ক্রিস্টোফার লয়েড

1
এপিএসএল সম্পর্কে কী চুষে বেড়ায়? ( opensource.apple.com/license/apsl ) এটি জিপিএলের মতো আক্রমণাত্মক নয়। আপনি যদি আচ্ছাদিত কোডটি পরিবর্তন করেন তবে আপনাকে অবশ্যই সেই কোডটি উপলব্ধ করতে হবে। আচ্ছাদিত কোডটি কোরিফাউন্ডেশনে আপনি যে কোনও পরিবর্তন করেন যা উদাহরণস্বরূপ, তবে আপনাকে প্রকৃত প্রোগ্রাম অন্তর্ভুক্ত করবে না। আপনার পরিষ্কারভাবে আপনার পরিবর্তনগুলি চিহ্নিত করতে হবে। এটি একটি উপদ্রব কিন্তু অ্যাপলের উচ্চ পরীক্ষিত কোডটি ব্যবহারের বাণিজ্য বন্ধ কি এটি নয়?
ম্যাথিউউ কর্মিয়ার

8
আমি মনে করি না আপনি সমাপ্তিটি কীভাবে কাজ করে তা বোঝেন, এটি এমন কিছু নয় যা তারা একবারে সকলের সাথে একসাথে করতে পারে, কোডটি শর্তাদির অধীনে লাইসেন্সযুক্ত এবং সেই শর্তাদির অধীনে অনির্দিষ্টকালের জন্য ব্যবহারযোগ্য। যা ঘটতে পারে তা হ'ল অ্যাপল ব্যক্তি / সংস্থাগুলিকে একত্রিত করতে পারে যাঁরা মনে করেন লাইসেন্স লঙ্ঘন করেছেন have জিপিএল লঙ্ঘনের সাথে এফএসএফ ইতিমধ্যে এটি করেছে, আপনি কি সত্যিই মনে করেন অ্যাপল এফএসএফের চেয়ে বিকাশকারীদের পক্ষে আরও বন্ধুত্বপূর্ণ? যদি আপনি মনে করেন যে শর্তগুলি অসংলগ্ন এবং অর্থহীন তবে আমি নিশ্চিত যে আপনি অ্যাপলকে কেবল তাদের গ্রহণের জন্য আইনী হিসাবে বোঝাতে পারবেন।
ক্রিস্টোফার লয়েড 18

8
এটি লক্ষ করা উচিত যে অ্যাপল এপিএসএল পরিবর্তনের বিষয়ে এফএসএফের সাথে কাজ করেছিল এবং এফএসএফ এপিএসএল সংস্করণ ২.০ কে একটি মুক্ত সফ্টওয়্যার লাইসেন্স হিসাবে বিবেচনা করে। gnu.org/ph दर्शनhy
শান

3
আমার দৃষ্টিকোণ থেকে (বিএসডি, এলজিপিএল, এমআইটি এবং মালিকানার পণ্যাদির অন্যান্য লাইসেন্স নিয়ে যে কেউ ডিল করেছেন) অ্যাপলের লাইসেন্স জিপিএলের চেয়ে কম সীমাবদ্ধ - যা স্পষ্টতই পাছার ব্যথা হয়। আমি যদি বিএসডি, এমআইটি, বা এপিএসএল পেতে পারি তবে আমি জিপিএল বাদে তাদের সাথে কাজ করব।
লয়েড সারজেন্ট

8

আমি জানি এটি একটি খুব পুরানো পোস্ট, তবে আমি একটি সমাধান পেয়েছি যা কেবলমাত্র সম্প্রতি পাওয়া গেছে এবং উইন্ডোজ প্ল্যাটফর্মে প্রায় সমস্ত উদ্দেশ্য-সি 2.0 বৈশিষ্ট্য সক্ষম করে।

জিসিসি ৪.6-এর আবির্ভাবের সাথে ওজেক্টিভ-সি 2.0 ভাষার বৈশিষ্ট্যগুলির জন্য সমর্থন (ব্লক, ডট সিনট্যাক্স, সংশ্লেষিত বৈশিষ্ট্য ইত্যাদি) উদ্দেশ্য-সি সংকলকটিতে যুক্ত করা হয়েছিল ( সম্পূর্ণ বিবরণের জন্য প্রকাশের নোট দেখুন)। অ্যাপলের নিজস্ব অবজেক্টিভ-সি 2.0 রানটাইমের সাথে প্রায় একইভাবে কাজ করতে তাদের রানটাইম আপডেট করা হয়েছে। সংক্ষেপে এর অর্থ হ'ল (প্রায়) যেকোন প্রোগ্রাম যা বৈধভাবে ম্যাকের ক্ল্যাংয়ের সাথে সংকলন করবে সেগুলি জিসিসি 4.6 সংশোধন ছাড়াই সংকলন করবে।

পার্শ্ব-নোট হিসাবে, একটি বৈশিষ্ট্য যা উপলভ্য নয় তা হ'ল ডিকশনারি / অ্যারে / ইত্যাদি লিটারাল কারণ এগুলি অ্যাপলের এনএসডি অভিধান, এনএসআর, এনএসবার ইত্যাদি শ্রেণি ব্যবহারের জন্য ক্ল্যাং-এ কঠোরভাবে কোডেড।

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

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

একবার ইনস্টল হয়ে গেলে অবজেক্টিভ-সি 2.0 উত্সটি এর সাথে সংকলিত হতে পারে:

gcc MyFile.m -lobjc -std=c99 -fobjc-exceptions -fconstant-string-class=clsname (etc, additional flags, see documentation)

মিনিজিডব্লুতে -mwindowsপতাকা সহ দেশীয় জিইউআই উইন্ডোজ অ্যাপ্লিকেশনগুলি সংকলনের জন্য সমর্থনও অন্তর্ভুক্ত । উদাহরণ স্বরূপ:

g++ -mwindows MyFile.cpp

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


7

পরীক্ষা করে দেখুন WinObjC :

https://github.com/Microsoft/WinObjC

এটি মাইক্রোসফ্টের একটি অফিসিয়াল ওপেন সোর্স প্রকল্প যা ভিজ্যুয়াল স্টুডিও + উইন্ডোজের সাথে সংহত করে।


6

আপনি যদি কেবল পরীক্ষা করতে চান তবে। নেট (উইন্ডোজ) এর জন্য এখানে একটি উদ্দেশ্য-সি সংকলক রয়েছে: কেকআপ


এই প্রোগ্রামটি ওএসসি দিয়ে সংকলন করতে পারেনি # এনএসএলগ (@ "পরীক্ষা ... \ n..1 \ n ... 2 \ n .... 3"); [পুল ড্রেন]; প্রত্যাবর্তন 0; }
কিরান কেজে

5

আপনি একটি উদ্দেশ্য সি সংকলক পেতে পারেন যা উইন্ডোজের সাথে কাজ করবে এবং ভিজ্যুয়াল স্টুডিও ২০০৮ -২০১০ এর সাথে দুর্দান্ত খেলবে।

ওপেন-সি ফ্লাইট

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


আমি ভিজ্যুয়াল স্টুডিও 2013 ব্যবহার করে এই প্রকল্পটি ডাউনলোড এবং চালিত করেছি এবং আমি এই ত্রুটির 30 টি উদাহরণ পেয়েছি। ত্রুটি 64 ত্রুটি C2632: 'বুল' এর পরে 'চর' অবৈধ সি: \ ওপেনক্লাইট-কোড-248-ট্রাঙ্ক \ অন্তর্ভুক্ত রয়েছে \ c99 \ stdbool.h 20 1 اعتراض
অ্যাডাম মেন্ডোজা

4

উইন্ডোজকে উদ্দেশ্য সি 2.0 বন্দর করার সাম্প্রতিক প্রয়াস হ'ল সাবজেক্টিভ প্রকল্প।

রিডমি থেকে:

সাপেক্ষিকটি উইন্ডোজটিতে আরসি সমর্থন সহ অবজেক্টিভ সি ২.০ আনার একটি প্রয়াস।

এই প্রকল্পটি Obc4-532.2 এর একটি কাঁটাচামচ, ওস এক্স 10.8.5 সহ জাহাজীকরণকারী সি রানটাইম। পোর্টটি MinGW লিঙ্কারের সাথে মিলিত llvm-clang ব্যবহার করে OS X এ ক্রস-সংকলন করা যেতে পারে।

কিছু নির্দিষ্ট সীমাবদ্ধতা রয়েছে যার মধ্যে অনেকগুলি অতিরিক্ত কাজের বিষয়, যখন অন্যরা যেমন ব্যতিক্রম এবং ব্লকগুলি তৃতীয় পক্ষের প্রকল্পগুলিতে আরও গুরুতর কাজের উপর নির্ভর করে। সীমাবদ্ধতাগুলি হ'ল:

• 32-বিট কেবল - 64-বিট চলছে

• স্থিতিশীল লিঙ্কিং - গতিশীল সংযোগ চলছে

Clos কোনও ক্লোজার / ব্লক নেই - যতক্ষণ না লিবিডিসপ্যাচ তাদের উইন্ডোজে সমর্থন করে

Ex কোনও ব্যতিক্রম নেই - যতক্ষণ না ঝাঁকুনি তাদের উইন্ডোজে সমর্থন করে

Old কোনও পুরানো স্টাইলের জিসি নেই - যতক্ষণ না কেউ যত্ন না করে ...

• অভ্যন্তরীণ: কোনও ভিটিবেল নেই, কোনও জিডিবি সমর্থন নয়, কেবল সরল ম্যালোক, কোনও প্রিপ্টিমাইজেশন - এই জাতীয় কিছু 64৪-বিট বিল্ডের আওতায় পাওয়া যাবে।

; বর্তমানে একটি প্যাচযুক্ত ঝনঝন সংকলক প্রয়োজন; প্যাচটি যুক্ত করে --fobjc- রানটাইম = subj পতাকা

প্রকল্পের পাওয়া যায় গিটহাব , এবং আরো একটি হল থ্রেড Cocotron গোষ্ঠীতে প্রগতি ও সম্মুখীন বিষয় কিছু outlining।



0

আপনি যদি ভিজ্যুয়াল স্টুডিও পরিবেশের সাথে স্বাচ্ছন্দ্য বোধ করেন,

ছোট প্রকল্প: জিসিআরএসপি সহ জিসিসি বড় প্রকল্প: কোকোট্রন

শুনেছি সেখানে অনুকরণকারী রয়েছে, তবে আমি কেবল অ্যাপল II এমুলেটর http://virtualapple.org/ খুঁজে পেয়েছি । দেখে মনে হচ্ছে গেমসের মধ্যে সীমাবদ্ধ।


0

সবার আগে, GNUStep সরঞ্জামগুলি ভুলে যান । আমরাও ProjectManager কিংবা ProjectCenter একটি IDE বলা যায় না। সমস্ত যথাযোগ্য সম্মানের সাথে, দেখে মনে হচ্ছে যে GNUStep প্রকল্পের ছেলেরা 80-s-এর দশকে আটকে আছে (যা তখন NeXTSTEP প্রথম প্রকাশিত হয়েছিল)।

তেজ

ctagsr771 সাল থেকে অবজেক্টিভ-সি সমর্থন করুন (প্রাক রিলিজ 5.9 সংস্করণটি বেছে নেওয়ার এবং --langmap=ObjectiveC:.m.hকমান্ড লাইনে যুক্ত হওয়া নিশ্চিত করুন , এখানে দেখুন ), যাতে আপনার শালীন কোড সমাপ্তি / ট্যাগ নেভিগেশন থাকবে।

এখানে একটি ছোট হাওটুর তেজ tagbar প্লাগইন থেকে উদ্দেশ্য সি সমর্থন যোগ করে।

এ গিয়ে emacs

এটি একই etagsসাথে আধুনিক ইমাসেনের সাথে প্রেরণ করা প্রযোজ্য , যাতে আপনি ইম্যাক্স অবজেক্টিভ সি মোড দিয়ে শুরু করতে পারেন । YASnippet দরকারী টেম্পলেট সরবরাহ করবে:

YASnippet অবজেক-মোড

এবং আপনি যদি বেসিক ট্যাগ-ভিত্তিক কোড সমাপ্তির চেয়ে আরও বুদ্ধিমান কিছু চান তবে এই প্রশ্নটি একবার দেখুন ।

অন্ধকার

সিডিটিMakefile ভিত্তিক প্রকল্পগুলি সমর্থন করে :

এখানে চিত্র বর্ণনা লিখুন

- সুতরাং প্রযুক্তিগতভাবে আপনি আপনার উদ্দেশ্য-সি প্রকল্পগুলি বাক্সের বাইরে তৈরি করতে পারেন (উইন্ডোজে, আপনার জন্য সাইগউইন বা মিনজিডব্লু সরঞ্জামচেন প্রয়োজন)। একমাত্র সমস্যা হ'ল কোড সম্পাদক যা এটি খাঁটি সি কোড বলে মনে করে তার বিরুদ্ধে প্রচুর ত্রুটির খবর দেবে (অন-ফ্লাই কোড চেকিং বন্ধ করা যেতে পারে, তবে এখনও ...)। আপনি যদি যথাযথ সিনট্যাক্স হাইলাইট করতে চান তবে আপনি আপনার Eclipse এ Eclim যোগ করতে এবং Eclipse এবং Vim উভয়ের ভাল বৈশিষ্ট্য উপভোগ করতে পারেন (উপরে দেখুন)।

আরেকটি প্রতিশ্রুতি অন্ধকার প্লাগ হয় Colorer , কিন্তু এটা এখনো হিসাবে উদ্দেশ্য সি সমর্থন করে না। যদিও কোনও বৈশিষ্ট্য অনুরোধ ফাইল করতে নির্দ্বিধায়।

SlickEdit

স্লিকএডিট , দুর্দান্ত আইডিইর অন্যান্য বৈশিষ্ট্যগুলির মধ্যে, ওজেক্টিভ -সি সমর্থন করে । যদিও এটি শিখতে মোটামুটি জটিল (যদিও এটি ইম্যাক্সের মতো জটিল নয়) তবে আমি বিশ্বাস করি এটি আপনার সেরা বিকল্প, যদি আপনি এটি ক্রয় করতে আপত্তি না করেন (দামটি বেশ সাশ্রয়ী মূল্যের)।

অতিরিক্তভাবে, এটিতে একটি Elpipse প্লাগইন রয়েছে যা একা একা সম্পাদকের বিকল্প হিসাবে ব্যবহার করা যেতে পারে।

KDevelop

গুজব এটির একটি কেডেভেলপ রয়েছে প্যাচ রয়েছে (15 বছর বয়সী, তবে কে যত্ন করে?)। আমি ব্যক্তিগতভাবে মনে করি না KDevelop তুলনায় বৈশিষ্ট্য শ্রেয় Emacsen , তাই আমি এটা চেষ্টা বিরক্ত না।


উপরেরগুলি লিনাক্সের অবজেক্টিভ সি বিকাশের ক্ষেত্রেও প্রযোজ্য, যেহেতু উল্লিখিত সমস্ত সরঞ্জাম কম-বেশি বহনযোগ্য।

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