# কোণ বন্ধনী ব্যবহার করে আমদানি করুন <> এবং উদ্ধৃতি চিহ্নগুলি ""


120

আমি ভাবছি যে আপনি কী ব্যবহারের অনুমতি দিচ্ছেন <Header.h>বা "Header.h"আপনি যখন উদ্দেশ্য-সি-তে ফাইলগুলি আমদানি করছেন তখন কী সিদ্ধান্ত নেয় । এখনও অবধি আমার পর্যবেক্ষণ হয়েছে যে আপনি ""আপনার প্রকল্পের ফাইলগুলির জন্য উদ্ধৃতি চিহ্নগুলি ব্যবহার করেছেন যা আপনি প্রয়োগের উত্স পেয়েছেন এবং <>যখন আপনি কোনও লাইব্রেরি বা কাঠামোটি উল্লেখ করছেন তখন অ্যাঙ্গেল বন্ধনীগুলি ।

কিন্তু ঠিক কীভাবে এটি কাজ করে? বন্ধনী ব্যবহারের জন্য আমার নিজের ক্লাসগুলি পেতে আমাকে কী করতে হবে? এই মুহুর্তে এক্সকোড আমাকে নিজের হেডারগুলির জন্য এটি করার অনুমতি দেবে না।

এছাড়াও কিছু ফ্রেমওয়ার্ক শিরোলেখগুলি দেখে, আমি দেখতে পাই যে শিরোনামগুলি একে অপরের সাথে রেফারেন্স করে <frameworkname/file.h>। কীভাবে যে কাজ করে? এটি জাভাতে প্যাকেজগুলির মতো দেখতে অনেকটা দুর্দান্ত, তবে আমি যতদূর জানি, অবজেক্টিভ-সি-তে কোনও প্যাকেজ বলে কিছুই নেই।

উত্তর:


122

উদ্দেশ্য-সি এর সাথে সি / সি ++ এর সাথে মিল রয়েছে; উদ্ধৃত ফর্মটি "স্থানীয়" ফাইলগুলির অন্তর্ভুক্ত (আপনার বর্তমান ফাইল থেকে আপেক্ষিক পাথ নির্দিষ্ট করতে হবে, উদাহরণস্বরূপ #include "headers/my_header.h"), যখন কোণ-বন্ধনী ফর্মটি "গ্লোবাল" অন্তর্ভুক্ত রয়েছে - এতে অন্তর্ভুক্ত পথের কোথাও পাওয়া যায় সংকলক (উদাঃ #include <math.h>)

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

দেখুন এই দুটিই MSDN পৃষ্ঠা আরও তথ্যের জন্য।


1
আমার কেবল একটি গিটহাব প্রকল্পে এএফ নেটওয়ার্কিংকে # ইম্পোর্ট <এএফ নেট নেটওয়ার্কিং / এএফটিটিপিআরকিউস্টেপমেন্ট ম্যানেজ.আর> হিসাবে উল্লেখ করা হয়েছে, সুতরাং আমাকে শিরোনাম অনুসন্ধানের পথ হিসাবে $ (এসআরক্রট) / লিব / এএফ নেট নেটওয়ার্কিং করতে হয়েছিল। এই ফোল্ডারের নীচে এএফনেটিকিং নামে আরেকটি ফোল্ডার রয়েছে যা এইভাবে অ্যাঙ্গেল বন্ধনী সহ আমদানিটিকে এটি খুঁজে পায়। সাধারণত # ইম্পোর্ট "AFHTTPRequestOperationManager.h" কাজ করবে তবে এই প্রকল্পের জন্য এটি কেবল এটি আলাদাভাবে উল্লেখ করে।
ব্রেনান

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

উত্তরের লিঙ্কটি পুরানো।
প্যাং করুন

14

সি তে, কনভেনশনটি হ'ল <>বন্ধনীতে শিরোনামের ফাইলগুলি 'সিস্টেম' ডিরেক্টরিতে এবং ""ব্যবহারকারী বা স্থানীয় ডিরেক্টরিতে অনুসন্ধান করা হয়।

আমার ধারণা, সিস্টেম এবং স্থানীয় সংজ্ঞাটি কিছুটা অস্পষ্ট। আমি বিশ্বাস করি এটি সিস্টেম ডিরেক্টরিগুলিতে <শিরোলেখের জন্য অন্তর্ভুক্ত পাথ বা সিপিপিএফএফএলএগএসে এবং স্থানীয় ডিরেক্টরি বা সংকলক -I এর সাথে নির্ধারিত ডিরেক্টরিতে "শিরোলেখ" ফাইল অনুসন্ধান করা হয়।

আমি ধরে নিই যে এটি ওজেক্টিভ-সি এর জন্য একইভাবে কাজ করে।


6

"<>" ব্যবহার করে আপনার নিজের ক্লাস আমদানি করতে আপনাকে শিরোনাম ফাইলগুলি (*। এইচ) সংকলকের লাইব ফোল্ডারে রেখে দিতে হবে বা আপনার লিব ফোল্ডারে একটি সিস্টেমে ভেরিয়েবলস পন্টিং সেট করতে হবে।


2

বা সেট করা Always Search User Pathহয়েছে YESযাতে আপনি কোণ বন্ধনী ব্যবহার করতে পারেন।


1

অ্যাঙ্গেল বন্ধনী সহ যেমন <Foundation/Foundation.h>আপনি সিস্টেম ফাইলগুলি আমদানি করুন।

আপনি "Person.h"স্থানীয় ফাইলগুলি (আপনার তৈরি করা ফাইলগুলি) আমদানি করতে এবং সংকলকটি তাদের কোথায় সন্ধান করবেন তা জানানোর জন্য ডাবল উদ্ধৃতি ব্যবহার করেন।


1

<Name.h>- Angle bracketsপ্রিপ্রোসেসরকে একটি বিশেষ পূর্বনির্ধারিত সিস্টেমের ডিরেক্টরিগুলি অনুসন্ধান করতে বলে । উদাহরণস্বরূপ আপনি সিস্টেমের শিরোনাম পছন্দ করেন import<UIKit/UIKit.h> বা ফ্রেমওয়ার্ক যুক্ত করেছেন

"Name.h"- Quotation marksএকটি বর্তমান ডিরেক্টরি অনুসন্ধান করতে প্রিপ্রোসেসরকে বলে । যদি একটি শিরোনাম পাওয়া যায় নি তবে প্রিপ্রসেসর ব্যবহার করার চেষ্টা করুন <Name.h>। সাধারণত আপনার প্রকল্পের ফাইলগুলির সাথে এটি ব্যবহার করা উচিত


0

ঠিক একই সমস্যার জন্য হোঁচট খেয়েছি, 2 ধরণের অনুসন্ধানের পথ রয়েছে এক্সকোড:

User Header Search Paths
Header Search Paths

আপনি যদি নিজের নিজস্ব অন্তর্ভুক্ত ফোল্ডারগুলি শিরোলেখ অনুসন্ধানের পথগুলিতে যুক্ত করেন তবে আপনি কোনও সমস্যা ছাড়াই কোণযুক্ত বন্ধনী ব্যবহার করতে পারেন।


-4

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

অন্তর্ভুক্ত

1) # আইএনসিএলইউইডি: - এটি একটি প্রাক-প্রসেসর যা মূল ফাংশন প্রক্রিয়া করার আগে প্রক্রিয়া করে। প্রি-প্রসেসরের মূল কাজ হ'ল প্রোগ্রামের পরিবেশের সূচনা করা অর্থাৎ এটি হেইডার ফাইল সহ প্রোগ্রাম। 2) .এইচ: - (শিরোনাম ফাইল) একটি শিরোনাম ফাইল এক্সটেনশন সহ একটি ফাইল h সে সি ফাংশন ঘোষণা এবং ম্যাক্রো সংজ্ঞা এবং বিভিন্ন উত্স ফাইলের মধ্যে ভাগ করে নেওয়া হয়। প্রশ্ন) দুটি ধরণের শিরোলেখ ফাইল রয়েছে: প্রোগ্রামার যে ফাইলগুলি ফাইল করে এবং আপনার সংকলক সহ যে ফাইলগুলি আসে? ক) একটি কৌণিক বন্ধনীতে কৌণিক-বন্ধনী ফর্মটি "গ্লোবাল" অন্তর্ভুক্তের জন্য রয়েছে - যেগুলি কোথাও কোথাও অন্তর্ভুক্ত রয়েছে এটি সংপথকৃত পথের অন্তর্ভুক্ত (যেমন # অন্তর্ভুক্ত) এটি লাইব্রেরির ফাংশনটি ব্যবহারের জন্য ব্যবহৃত হয় যা সংকলকটিতে প্রস্তুত সমস্ত সংজ্ঞায়িত। সিতে কনভেনশনটি হ'ল <> বন্ধনীতে শিরোনাম ফাইলগুলি 'সিস্টেমে' অনুসন্ধান করা হয় ডিরেক্টরি খ) উদ্ধৃতি চিহ্ন: - "শিরোনাম h" উদ্ধৃত ফর্মটি "স্থানীয়" ফাইলগুলির জন্য রয়েছে (আপনার বর্তমান ফাইল থেকে আপেক্ষিক পথ নির্দিষ্ট করতে হবে, যেমন # শিরোনাম / আমার_হেডার। "অন্তর্ভুক্ত) সি সম্মেলনে "" এই শিরোলেখ ফাইলগুলি ব্যবহারকারী বা স্থানীয় ডিরেক্টরিতে অনুসন্ধান করা হয়। এটিতে একটি ফাইল অন্যটিতে অন্তর্ভুক্ত করা উচিত ((ফাইল অন্তর্ভুক্ত)। এটি দুটি ক্ষেত্রে ব্যবহার করা যেতে পারে: কেস 1: আমাদের যদি খুব বড় প্রোগ্রাম থাকে তবে কোডটি বেশ কয়েকটি ভিন্ন ফাইলের মধ্যে ভালভাবে বিভক্ত হয়, যার প্রতিটি সম্পর্কিত ফাংশনগুলির একটি সেট থাকে। কেস 2: কিছু ফাংশন এবং মাইক্রো সংজ্ঞা রয়েছে যা আমাদের লেখা সমস্ত প্রোগ্রামে আমাদের সর্বাধিক প্রয়োজন। প্রাক্তন ) সি-তে কনভেনশনটি হ'ল ব্যবহারকারী বা স্থানীয় ডিরেক্টরিতে "" শিরোনামের ফাইলগুলি অনুসন্ধান করা হয়। এটিতে একটি ফাইল অন্যটিতে অন্তর্ভুক্ত করা উচিত ((ফাইল অন্তর্ভুক্ত)। এটি দুটি ক্ষেত্রে ব্যবহার করা যেতে পারে: কেস 1: আমাদের যদি খুব বড় প্রোগ্রাম থাকে তবে কোডটি বেশ কয়েকটি বিভিন্ন ফাইলকে ভালভাবে বিভক্ত করা হয়, যার মধ্যে প্রতিটি সম্পর্কিত ফাংশনের একটি সেট থাকে। কেস 2: কিছু ফাংশন এবং মাইক্রো সংজ্ঞা রয়েছে যা আমাদের লেখা সমস্ত প্রোগ্রামে আমাদের সর্বাধিক প্রয়োজন। প্রাক্তন ) সি-তে কনভেনশনটি হ'ল ব্যবহারকারী বা স্থানীয় ডিরেক্টরিতে "" শিরোনামের ফাইলগুলি অনুসন্ধান করা হয়। এটিতে একটি ফাইল অন্যটিতে অন্তর্ভুক্ত করা উচিত ((ফাইল অন্তর্ভুক্ত)। এটি দুটি ক্ষেত্রে ব্যবহার করা যেতে পারে: কেস 1: আমাদের যদি খুব বড় প্রোগ্রাম থাকে তবে কোডটি বেশ কয়েকটি ভিন্ন ফাইলের মধ্যে ভালভাবে বিভক্ত হয়, যার প্রতিটি সম্পর্কিত ফাংশনগুলির একটি সেট থাকে। কেস 2: কিছু ফাংশন এবং মাইক্রো সংজ্ঞা রয়েছে যা আমাদের লেখা সমস্ত প্রোগ্রামে আমাদের সর্বাধিক প্রয়োজন। প্রাক্তন

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