কম্পিউটার

সি-তে পূর্বনির্ধারিত শনাক্তকারী __func__


শনাক্তকারী৷ প্রোগ্রামিং-এ একটি সত্তাকে প্রোগ্রামে চিহ্নিত করার জন্য দেওয়া নাম।

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


  1. C-তে fillpoly() ফাংশন

  2. C/C++ এ putwchar() ফাংশন

  3. একটি ফাইল মুছে ফেলার জন্য সি প্রোগ্রাম

  4. C গ্রাফিক্সে bar() ফাংশন