শনাক্তকারী৷ প্রোগ্রামিং-এ একটি সত্তাকে প্রোগ্রামে চিহ্নিত করার জন্য দেওয়া নাম।
সাধারণত, প্রোগ্রামার দক্ষ কাজের জন্য শনাক্তকারী তৈরি করে তবে কিছু পূর্বনির্ধারিত শনাক্তকারী রয়েছে যা প্রোগ্রামিং-এ অন্তর্নির্মিত। উদাহরণস্বরূপ, 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__ শনাক্তকারী ব্যবহার করে আহ্বান করা হয়েছে।