শনাক্তকারী৷ প্রোগ্রামিং-এ একটি সত্তাকে প্রোগ্রামে চিহ্নিত করার জন্য দেওয়া নাম।
সাধারণত, প্রোগ্রামার দক্ষ কাজের জন্য শনাক্তকারী তৈরি করে তবে কিছু পূর্বনির্ধারিত শনাক্তকারী রয়েছে যা প্রোগ্রামিং-এ অন্তর্নির্মিত। উদাহরণস্বরূপ, cout, cin, ইত্যাদি।
এখানে, আমরা সি প্রোগ্রামিং ভাষার এই পূর্বনির্ধারিত আইডেন্টিফায়ারগুলির মধ্যে একটি দেখতে পাব যা হল __func__।
__func__ এর আনুষ্ঠানিক সংজ্ঞা হল −
"শনাক্তকারী __func__ অনুবাদক দ্বারা স্পষ্টভাবে ঘোষণা করা হবে যেন, অবিলম্বে প্রতিটি ফাংশনের সংজ্ঞার প্রথম বন্ধনী অনুসরণ করে, ঘোষণা
static const char __func__[] = “function-name”;
উপস্থিত হয়েছে, যেখানে ফাংশন-নাম হল লেকসিক্যালি-এনক্লোসিং ফাংশনের নাম।”
C প্রোগ্রাম __func__ হল একটি কম্পাইলার-জেনারেটেড আইডেন্টিফায়ার যা ফাংশনের নাম ব্যবহার করে ফাংশন সনাক্ত করার জন্য তৈরি করা হয়।
ধারণাটি আরও স্পষ্ট করার জন্য কয়েকটি কোড উদাহরণ দেখি,
উদাহরণ
#include <stdio.h> void function1 (void){ printf ("%s\n", __func__); } void function2 (void){ printf ("%s\n", __func__); function1 (); } int main (){ function2 (); return 0; }
আউটপুট
function2 function1
ব্যাখ্যা − এখানে, আমরা __func__ পদ্ধতি ব্যবহার করেছি যেগুলিকে কল করা ফাংশনগুলির নাম ফেরত দিতে। শনাক্তকারী ফাংশনের নাম ফেরত দেয় যেখানে এটি আহ্বান করা হয়েছে। উভয় মুদ্রণ বিবৃতি __func__ এর নিজস্ব পদ্ধতির রেফারেন্সের জন্য বলা হয়েছে।
এই চিহ্নিত এমনকি প্রধান পদ্ধতিতে কাজ করে। উদাহরণ,
উদাহরণ
#include <stdio.h> int main (){ printf ("%s\n", __func__); return 0; }
আউটপুট
main
কিন্তু এটি ওভাররাইট করা যাবে না যেমন __func__ শুধুমাত্র ফাংশন নামের জন্য সংরক্ষিত। অন্য কিছু সংরক্ষণ করার জন্য এটি ব্যবহার করলে ত্রুটি ফিরে আসবে৷
৷দেখা যাক
উদাহরণ
#include <stdio.h> int __func__ = 123; int main (){ printf ("%s\n", __func__); return 0; }
আউটপুট
error
সি প্রোগ্রামিং ভাষায় অন্যান্য অনুরূপ ফাংশন রয়েছে যা সনাক্তকরণের একই কাজ করে। কিছু হল
__ফাইল__ - বর্তমান ফাইলের নাম ফেরত দিন।
__LINE__ - বর্তমান লাইনের সংখ্যা প্রদান করে।
বাস্তবায়ন দেখানোর জন্য একটি কোড দেখি
উদাহরণ
#include <stdio.h> void function1(){ printf("The function: %s is in line: %d of the file :%s\n", __func__,__LINE__,__FILE__); } int main(){ function1(); return 0; }
আউটপুট
The function: function1 is in line: 3 of the file :main.c
ব্যাখ্যা − এগুলি কিছু সাধারণ ফাংশন যা কার্যকর হতে পারে কারণ আমরা ফাইলের নাম, কোডের লাইন এবং ফাংশন সংক্রান্ত তথ্য সংগ্রহ করেছি যা বর্তমানে __func__,__LINE__,__FILE__ শনাক্তকারী ব্যবহার করে আহ্বান করা হয়েছে।