C++ __FILE__ ম্যাক্রো

C File Myakro



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

উদাহরণ 01:

টার্মিনাল কনসোল অ্যাপ্লিকেশন শুরু করে C++ এ __FILE__ ম্যাক্রোর প্রথম উদাহরণ নেওয়া যাক। আপনি এটি করার জন্য 'Ctrl+Alt+T' শর্টকাট ব্যবহার করতে পারেন। শেল খোলার আরেকটি উপায় হল মেনু অ্যাক্টিভিটি এলাকা ব্যবহার করা যদি আপনি শর্টকাট কী ভুলে যান। আপনার স্ক্রিনে টার্মিনাল কনসোল চালু হওয়ার পরে, এটিতে কোড করতে একটি নতুন c++ ফাইল তৈরি করার চেষ্টা করুন। একটি সাধারণ 'টাচ' ক্যোয়ারী দিয়ে একটি ফাইল তৈরি করা যেতে পারে, যেমনটি নীচে সংযুক্ত ছবিতে দেখানো হয়েছে৷ একটি নতুন তৈরি ফাইলের নাম অবশ্যই 'টাচ' কীওয়ার্ড দিয়ে দিতে হবে।







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





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





main() মেথড হল আমাদের কোডের মৌলিক স্তম্ভ কারণ এটি থেকে এক্সিকিউশন শুরু হয় এবং শেষ হয়। main() পদ্ধতির মধ্যে, প্রকৃত কাজ করা হবে। আমরা __FILE__ ম্যাক্রোর কার্যকারিতা বর্ণনা করতে আমাদের main() পদ্ধতিতে একটি একক লাইন কোড ব্যবহার করছি। সুতরাং, এখানে printf স্টেটমেন্ট ব্যবহার করা হয়েছে, দুটি মানকে আর্গুমেন্ট হিসেবে গ্রহণ করা হয়েছে, অর্থাৎ, ফাইলের নাম এবং ম্যাক্রো ফাংশন গ্রহণ করে স্ট্রিং।

__FILE__ ম্যাক্রো বর্তমান ফাইল পাথ বা এর নাম অর্জন করতে এখানে ব্যবহার করা হয়েছে। যখন '%S' একটি স্ট্রিং এর মধ্যে একটি ফাইলের বর্তমান পথ বা তার নাম মুদ্রণ করতে ব্যবহৃত হয়। একটি 'Ctrl+S' শর্টকাটের সাহায্যে কার্যকর করার আগে আপনাকে অবশ্যই আপনার কোড সংরক্ষণ করতে হবে। এখন কোডটি সংরক্ষিত হয়েছে, 'Ctrl+X' শর্টকাট ব্যবহার করে শেল টার্মিনালে ফিরে যাওয়ার চেষ্টা করুন।



যেহেতু আমরা __FILE__ ম্যাক্রোর জন্য C++ কোডের কাজ শেষ করেছি, আসুন C++ কোডের সংকলন শুরু করি। কম্পাইলেশনের জন্য, আমরা ইতিমধ্যেই C++ কোড কম্পাইল করার জন্য g++ কম্পাইলার ইনস্টল করেছি। সুতরাং, 'macro.cc' ফাইলটি কম্পাইল করতে টার্মিনালে g++ কম্পাইলার ব্যবহার করা হয়েছে। সংকলন করার পরে, এটি কিছুই ফেরত দেয় না, যা নির্দেশ করে যে C++ কোডটি macro.cc ফাইলের ভিতরে রয়েছে শব্দার্থগতভাবে সঠিক। সংকলনের পরে, একটি কোড কার্যকর করার পালা আসে। কোড ফাইলটি চালানোর জন্য, আমরা './.aout' সাধারণ ক্যোয়ারী ব্যবহার করার প্রবণতা রাখি। macro.cc ফাইলটি চালানোর পরে, আমরা বিনিময়ে একটি ফাইলের নাম পেয়েছি। এইভাবে C++ __FILE__ ম্যাক্রো কাজ করে।

উদাহরণ 02:

উবুন্টু 20.04 সিস্টেমের মধ্যে C++ __FILE__ ম্যাক্রোর কার্যকারিতা দেখার জন্য গভীরে যাওয়ার জন্য আরেকটি উদাহরণ দেওয়া যাক। যেমনটি আমরা দেখেছি কিভাবে C++ __FILE__ ম্যাক্রো কাজ করে যখন এটি একটি ফাইলের ফাইল পাথ আনতে ব্যবহার করা হয় যেখানে এটি উল্লেখ করা হয়েছে।

এখন, আমরা C++ __FILE__ ম্যাক্রো ব্যবহার করব ফাইল পাথ বা ফাইলের নাম পেতে যা আমরা বর্তমানে কাজ করছি। সুতরাং, কোড আপডেট করার জন্য আমরা GNU ন্যানো এডিটরে একই ফাইল macro.cc খুলেছি। আমরা অন্তর্ভুক্ত কীওয়ার্ড সহ স্ট্যান্ডার্ড ইনপুট-আউটপুট হেডার যুক্ত করেছি এবং পূর্ণসংখ্যা রিটার্ন টাইপের সাথে একটি main() ফাংশন শুরু করেছি।

main() পদ্ধতির মধ্যে, প্রথম মুদ্রণ বিবৃতিটি বর্তমান ফাইলের পাথ পেতে পুরানোটির মতো যা আমরা বর্তমানে কাজ করছি। এর পরে, আমরা #লাইন কীওয়ার্ডটি অন্য ফাইলের নামের সাথে ব্যবহার করেছি, যেমন, পরের লাইনে 'new.txt'। এটি বর্তমান ফাইল ব্যতীত অন্য ফাইলটি নির্দিষ্ট করার জন্য যার জন্য আমরা এর নাম বা একটি পথ পাব। পরবর্তী printf স্টেটমেন্টটি একটি C++ __FILE__ ম্যাক্রোর সাহায্যে একটি ফাইল “new.txt” এর পথ প্রিন্ট করার জন্য ব্যবহার করা হয়েছে। সংকলনের সময় কোনো অসুবিধা এড়াতে আপনার নতুন আপডেট করা কোড সংরক্ষণ করুন। এটি করতে 'Ctrl+S' ব্যবহার করুন।

আপডেট করা ফাইলটি সংরক্ষণ করার পরে, আপনার কীবোর্ড থেকে 'Ctrl+X' এর মাধ্যমে এটি প্রস্থান করুন। এখন, আমরা শেল স্ক্রিনে ফিরে এসেছি।

আসুন আপডেট করা ফাইলটি কম্পাইল করি। একটি ফাইলের নামের সাথে এটি করতে g++ কম্পাইলার ব্যবহার করুন macro.cc। সফল সংকলনের পরে, কনসোলে './a.out' কমান্ড দিয়ে কোডটি চালান। আউটপুট প্রথমে একটি বর্তমান ফাইলের পাথ দেখায়, তারপর অন্য ফাইলের পাথ, 'new.txt' শেল স্ক্রিনে প্রদর্শিত হয়েছে। শেলের ফাইল পাথ প্রদর্শন করতে __FILE__ ম্যাক্রো ব্যবহার করা কতটা সহজ তা দেখুন।

উদাহরণ 03:

চলুন C++ এ __FILE__ ম্যাক্রোর সাথে __LINE__ ম্যাক্রো দেখে নেই। __LINE__ ম্যাক্রো যে ফাইলটিতে ম্যাক্রো ব্যবহার করা হয়েছে তার লাইন নম্বর প্রদর্শন করবে। সুতরাং, একই ফাইল খুলুন এবং উভয় printf স্টেটমেন্ট আপডেট করুন। C++ __LINE__ ম্যাক্রোর আগে, আমরা C++ __LINE__ ম্যাক্রো যোগ করেছি। এই __LINE__macro একটি বর্তমান ফাইলের লাইন নম্বর পাচ্ছে যেখানে __FILE__ প্রথমে আসে। পরবর্তী __LINE__ ম্যাক্রো অন্য ফাইলের প্রথম লাইন নম্বর পাবে কারণ আমরা ইতিমধ্যে কোডে ফাইলের নামের সাথে লাইন নম্বর উল্লেখ করেছি।

ফাইলটি সংরক্ষণ এবং প্রস্থান করার পরে, আমরা শেল টার্মিনালে ফিরে এসেছি। আমরা C++ macro.cc ফাইল কোড কম্পাইল করতে একই g++ কমান্ড ব্যবহার করছি। সফল সংকলন কার্যকরী কমান্ডের দিকে নিয়ে যায়। এখন এটি করতে এখানে './a.out' কমান্ড ব্যবহার করা হয়। এক্সিকিউশন আমাদের বলে যে প্রথম ফাইল, অর্থাৎ বর্তমান ফাইলটি লাইন 3 এ, যখন __FILE__ ম্যাক্রো কোডে উল্লিখিত অন্য ফাইলের প্রথম লাইনে রয়েছে।

উপসংহার:

এই নিবন্ধটিতে ম্যাক্রোর সংজ্ঞা রয়েছে এবং উবুন্টু 20.04 সিস্টেমে C++ __FILE__ ম্যাক্রোর ব্যবহার নিয়ে আলোচনা করা হয়েছে। C++ __LINE__ ম্যাক্রোকে C++ __FILE__ ম্যাক্রোর কাজ আরও ব্যাখ্যা করার জন্য কিছু উদাহরণের মধ্যেও আলোচনা করা হয়েছে। সংক্ষেপে, আমরা একটি উচ্চ আশা করি যে এই নিবন্ধটি আপনাকে সেরাভাবে C++ __FILE__macro-এর সাথে সাহায্য করবে।