এখানে দেখব কীভাবে এমন কোড লিখব যেখানে দুটি ফাংশন আছে, একটি main() ফাংশনের আগে এক্সিকিউট হবে, আরেকটি main() ফাংশনের পরে এক্সিকিউট হবে। এই ফিচারগুলো স্টার্টআপ টাস্ক (main-এর আগে) এবং ক্লিন-আপ টাস্ক (main-এর পরে) করার জন্য ব্যবহৃত হয়।
এটি করতে ফাংশনগুলোর জন্য অ্যাট্রিবিউট (attribute) ব্যবহার করতে হয়। অ্যাট্রিবিউট কনস্ট্রাক্টর (constructor) হলে main()-এর আগে এক্সিকিউট হবে, এবং ডিস্ট্রাক্টর (destructor) হলে main()-এর পরে এক্সিকিউট হবে।
উদাহরণ কোড
#include <stdio.h>
void before_main() __attribute__((constructor));
void after_main() __attribute__((destructor));
void before_main() {
printf("This is executed before main.\n");
}
void after_main() {
printf("This is executed after main.");
}
int main() {
printf("Inside main\n");
}
আউটপুট
This is executed before main. Inside main This is executed after main.