একটি লিনাক্স '.a' ফাইল তৈরি এবং চালানো

Ekati Linaksa A Pha Ila Tairi Ebam Calano



একটি লিনাক্স অপারেটিং সিস্টেমে ফাইলগুলির সাথে কাজ করার জন্য বিভিন্ন কমান্ড এবং কৌশলগুলির সম্পৃক্ততা প্রয়োজন যা বিকাশকারীদের ফাইল, কোড, প্রোগ্রাম, স্ক্রিপ্ট এবং অন্যান্য জিনিসগুলি দক্ষতার সাথে তৈরি এবং কার্যকর করতে সক্ষম করে। লিনাক্স পরিবেশে, '.a' এক্সটেনশন সহ ফাইলগুলি স্ট্যাটিক লাইব্রেরি হিসাবে একটি উল্লেখযোগ্য গুরুত্ব রাখে। এই লাইব্রেরিগুলি সফ্টওয়্যার বিকাশে একটি গুরুত্বপূর্ণ ভূমিকা পালন করে, যা বিকাশকারীদের দক্ষতার সাথে পরিচালনা করতে এবং কার্যকরভাবে একাধিক প্রোগ্রামের সাথে সাধারণ কার্যকারিতাগুলি ভাগ করে নিতে দেয়।

লিনাক্স পরিবেশে কার্যকর সফ্টওয়্যার বিকাশের জন্য একটি '.a' ফাইল কীভাবে তৈরি এবং চালানো যায় তা বোঝা গুরুত্বপূর্ণ। এটি একটি লিনাক্স '.a' ফাইল ইনস্টল এবং কনফিগার করার জন্য একটি ব্যাপক পদ্ধতি। আসুন জেনে নেই লিনাক্স “.a” ফাইলটি কী, এর উদ্দেশ্য, গঠন এবং কীভাবে এটি তৈরি ও কার্যকর করা যায় তা অন্বেষণ করি।

লিনাক্সে একটি '.a' ফাইল কি?

একটি লিনাক্স '.a' ফাইল হল একটি আর্কাইভ ফাইল যা একটি সংকলিত কোড এবং ডেটার জন্য একটি ধারক হিসেবে কাজ করে। এটি সাধারণত একটি স্ট্যাটিক লাইব্রেরি হিসাবে পরিচিত যেটিতে কোড রয়েছে যা সংকলনের সময় কলিং কোডের সাথে লিঙ্ক করা হয় যা অ্যাপ্লিকেশনটির একটি মৌলিক অংশ হয়ে ওঠে। এই লিনাক্স '.a' ফাইলগুলি অ্যাপ্লিকেশনটিতে একটি প্রাক-সংকলিত, ভিত্তিগত অবদান প্রদান করে, যা লিনাক্স '.so' গতিশীল লাইব্রেরি ফাইলগুলির সাথে সম্পূর্ণ বিপরীতে যেখানে রানটাইমে লিঙ্ক করা হয়।







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



পূর্বশর্ত:

লিনাক্সে কীভাবে একটি “.a” ফাইল তৈরি এবং চালাতে হয় তা শিখতে যাওয়ার আগে, কয়েকটি মৌলিক বিষয় জানা গুরুত্বপূর্ণ। লিনাক্সে একটি ফাংশন সম্পাদন করার আগে কয়েকটি পূর্বশর্ত রয়েছে যা নিশ্চিত করা উচিত। অনুসরণ হিসাবে তারা:



  • উবুন্টু 20.04 বা যেকোনো সর্বশেষ সংস্করণ
  • একটি কমান্ড লাইন বা টার্মিনাল উইন্ডোতে অ্যাক্সেস
  • একটি ব্যবহারকারীর অ্যাকাউন্ট, বিশেষ করে sudo সুবিধা, বিভিন্ন ফাইল এবং ডিরেক্টরির জন্য

আপনি কিভাবে একটি লিনাক্স “.a” ফাইল তৈরি করবেন এবং চালাবেন?

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





নিচের উদাহরণটি চালানো এবং চালানোর জন্য আপনার একটি GCC কম্পাইলার প্রয়োজন। কম্পাইলারটি লিনাক্স “.a” ফাইল তৈরি এবং চালানোর জন্য সমস্ত কমান্ড চালানোর জন্য ব্যবহৃত হয়:



নিচের ধাপগুলো বিভিন্ন কমান্ড এবং কৌশলের মাধ্যমে ব্যাখ্যা করা হয়েছে।

ধাপ 1: একটি সি সোর্স ফাইল কম্পাইল করুন

নিম্নলিখিত কমান্ডের সাহায্যে C সোর্স ফাইল (.c) অবজেক্ট ফাইলে (.o) কম্পাইল করার জন্য একটি GCC কম্পাইলার ব্যবহার করে C এর একটি সোর্স ফাইল তৈরি করে কাজ শুরু করুন:

$ জিসিসি -ওয়াল -গ * .c

'-ওয়াল' পতাকা সমস্ত সতর্কতা সক্ষম করে এবং '-c' পতাকা এই সময়ে শুধুমাত্র GCC কে কম্পাইল করতে বলে, লিঙ্ক নয়।

ধাপ 2: লাইব্রেরি আর্কাইভ তৈরি করুন

পরবর্তী ধাপ হল লাইব্রেরি ফাইল তৈরি করা। 'ar' কমান্ড অবজেক্ট ফাইল থেকে স্ট্যাটিক লাইব্রেরি আর্কাইভ (.a) তৈরি করে। সুতরাং, আমরা নিম্নলিখিত কমান্ড ব্যবহার করি:

$ সঙ্গে -cvq libfile.a * .ও

এই কমান্ডটি লিনাক্স অপারেটিং সিস্টেমে 'ar' (আর্কাইভ) কমান্ড ব্যবহার করে '.o' এক্সটেনশনযুক্ত বিভিন্ন অবজেক্ট ফাইলকে একত্রিত করে 'libfile.a' নামে একটি স্ট্যাটিক আর্কাইভ ফাইল তৈরি করে। এই কমান্ডের তিনটি বিষয় লক্ষ্য করা যায়: “c”, “v”, এবং “q”। আসুন উপাদানগুলি ভেঙে ফেলি এবং এই কমান্ডের প্রসঙ্গে প্রতিটি পতাকা এবং যুক্তির উদ্দেশ্য বুঝতে পারি:

ar: এটি লিনাক্স সিস্টেমে আর্কাইভ কমান্ড সম্পাদন করে। 'ar' কমান্ডের মৌলিক কাজ হল আর্কাইভাল থেকে তৈরি করা, পরিবর্তন করা এবং বের করা।

-c: এই পতাকাটি একটি নতুন সংরক্ষণাগার তৈরি করার নির্দেশ দেয় যদি এটি ইতিমধ্যে তৈরি না হয়ে থাকে বা এখনও বিদ্যমান না থাকে। প্রদত্ত নামের একটি সংরক্ষণাগার ফাইল বিদ্যমান থাকলে, '-c' ফ্ল্যাগ নিশ্চিত করে যে এটি পুনঃনির্মিত হয়েছে, পূর্ববর্তী কোনো সামগ্রী প্রতিস্থাপন করা হয়েছে।

-v: ভার্বোস পতাকা সংরক্ষণাগার প্রক্রিয়া সম্পর্কে একটি বিস্তারিত তথ্য প্রদর্শন করে। এটি সংরক্ষণাগারে কোন ফাইল যোগ করা হচ্ছে তার উপর একটি প্রতিক্রিয়া প্রদান করে।

-q: 'q' এর অর্থ হল 'দ্রুত সংযোজন'। এটি ডুপ্লিকেট চিহ্ন বা সময়-সাপেক্ষ ক্রিয়াকলাপগুলি পরীক্ষা না করেই আর্কাইভে নির্দিষ্ট ফাইলগুলিকে অবিলম্বে যুক্ত করতে 'AR' পতাকাকে বলে।

libfile.a: যে কমান্ড তৈরি বা পরিবর্তন করা হবে তার জন্য ফাইলের নাম প্রয়োজন। এখানে, আমরা '.a' এক্সটেনশন সহ 'libfile' হিসাবে একটি ফাইলের নাম দিই যা নির্দেশ করে যে এটি একটি স্ট্যাটিক লাইব্রেরি আর্কাইভ ফাইল।

*.o: কমান্ডের শেষে '*' নির্বাচিত ডিরেক্টরির প্রতিটি ফাইলকে একটি '.o' এক্সটেনশন সহ উপস্থাপন করে যা অবজেক্ট ফাইলগুলিকে বোঝায়। অবজেক্ট ফাইলগুলি সোর্স কোড সংকলনের ফলাফল এবং একটি মেশিন কোড ধারণ করে যা এখনও কোনো চূড়ান্ত এক্সিকিউটেবলের সাথে লিঙ্ক করা হয়নি।

ধাপ 3: লাইব্রেরির বিষয়বস্তু দেখা

এখন যেহেতু আমরা লাইব্রেরি আর্কাইভ তৈরি করেছি, আমরা এটিকে “ar –t” কমান্ড ব্যবহার করে দেখতে পারি। 'ar-t' কমান্ড লাইব্রেরিতে উপস্থিত সমস্ত বিষয়বস্তু তালিকাভুক্ত করে।

$ সঙ্গে -t libfile.a

'ar -t libfile.a' কমান্ড লিনাক্স অপারেটিং সিস্টেমে 'ar' কমান্ড ব্যবহার করে 'libfile.a' নামের স্ট্যাটিক লাইব্রেরি আর্কাইভ ফাইলের মধ্যে থাকা সমস্ত অবজেক্ট ফাইলের তালিকা করে। আসুন প্রতিটি পতাকা এবং তাদের কার্যকারিতা বিশ্লেষণ করি:

ar: পূর্বে উল্লিখিত হিসাবে, এটি লিনাক্স সিস্টেমে সংরক্ষণাগার কমান্ড।

-t: '-t' পতাকাটি সংরক্ষণাগারের বিষয়বস্তুর সারণী প্রদর্শন করতে ব্যবহৃত হয়, যা 'libfile.a' এর মধ্যে সংরক্ষিত বস্তু ফাইলের নাম প্রদর্শন করে।

libfile.a: ডেটা পড়ার জন্য আমাদের আর্কাইভ ফাইলের নাম জানতে হবে।

ধাপ 4: অন্য প্রোগ্রামে লাইব্রেরি ব্যবহার করা

এখন দেখা যাক কিভাবে নতুন উন্নত লিনাক্স “.a” ফাইলটি ভিন্ন একটি প্রোগ্রামে ব্যবহার করবেন। যেহেতু আমরা একটি লাইব্রেরি তৈরি করেছি, এটি এখন কম্পাইল কমান্ডে লাইব্রেরি যোগ করে যেকোনো জায়গায় এবং যেকোনো প্রোগ্রামে ব্যবহার করা যেতে পারে। আমরা পরবর্তী কমান্ডের সাহায্যে এটি সম্পন্ন করতে পারি। এটি লাইব্রেরির সমস্ত প্রয়োজনীয় শিরোনাম এবং লিঙ্কগুলি অন্তর্ভুক্ত করে।

$ জিসিসি -ও MyProgramMain.c -এল পথ / প্রতি / lib হয় -ফাইল

এই কমান্ডে, “-L” লাইব্রেরি পাথ নির্দিষ্ট করে, “library.a” libfile-এর বিরুদ্ধে “-lfile” লিঙ্ক, “lib” উপসর্গ এবং “.a” প্রত্যয়টি সরিয়ে দেয়।

ধাপ 5: একটি '.a' লিনাক্স ফাইল চালান

অবশেষে, আমরা '.a' ফাইলটি চালাতে পারি। আপনার টার্মিনালে নিম্নলিখিত স্ক্রিপ্টটি চালানোর সাথে সাথে ফলাফলটি আপনার কাছে প্রদর্শিত হবে:

$ . / মাইপ্রোগ্রামমেইন

এই কমান্ডটি ফাইলটি চালায়, সোর্স ফাইল এবং লিঙ্কড স্ট্যাটিক লাইব্রেরিতে দেওয়া কার্যকারিতা ব্যবহার করে।

উপসংহার

লিনাক্সে একটি '.a' ফাইল তৈরি এবং চালানোর জন্য ফাইল তৈরি, সংকলন এবং লিঙ্ক করার জন্য বিভিন্ন কমান্ড কম্পাইল করা প্রয়োজন। এই পদক্ষেপগুলি বোঝা এবং প্রতিটি কমান্ডের কার্যকারিতা বিকাশকারীদের তাদের কোড সংগঠিত করতে, বহিরাগত লাইব্রেরি ব্যবহার করতে এবং স্কেলযোগ্য প্রোগ্রামগুলি বিকাশ করতে সক্ষম করে। আপনাকে ন্যানো এবং জিসিসির মতো মৌলিক কমান্ড ব্যবহার করতে হবে বা আপনি স্ট্যাটিক লাইব্রেরিগুলির সাথে আরও উন্নত কৌশল নিয়ে কাজ করতে চলেছেন, এই দক্ষতাগুলি আয়ত্ত করা ব্যবহারিক লিনাক্স ভিত্তিক বিকাশে সহায়তা করে।