فایل HH چیست؟
فایل با پسوند hh یک فایل هدر C++ است که شامل اعلان متغیرها، ثابت ها و توابع است. این اعلانها توسط فایلهای پیادهسازی C++ مربوطه استفاده میشوند که معمولاً بهعنوان فایلهای .cpp ذخیره میشوند که حاوی اجرای واقعی منطق کاربر هستند. فایلهای هدر hh در فایلهای CPP پیادهسازی با استفاده از دستور #include ارجاع میشوند. میتوانید تا حد امکان فایلهای هدر را به پروژه ++C خود اضافه کنید تا اعلانهای سطح پروژه را شامل شود.
فرمت فایل .HH
فایل .hh یک فایل متنی ساده است که با رعایت قوانین تعریف فایل هدر ایجاد می شود. متداول ترین اطلاعات اعلام شده در یک فایل hh شامل موارد زیر است.
«متغیرها» - در مورد برنامه نویسی شی گرا (OOP)، یک فایل هدر کلاس شامل تعاریف همه متغیرهای سطح کلاس است که در فایل های کد منبع پیاده سازی قابل دسترسی هستند.
«اعلام روشها» - تمام اعلانهای روشها در فایلهای هدر .h گنجانده شدهاند تا در چندین فایل پیادهسازی قابل دسترسی باشند.
تعاریف توابع غیر درون خطی - فایل های سرصفحه همچنین می توانند شامل تعاریف روش های غیر خطی باشند.
نقشه های پیام
- یک فایل هدر همچنین می تواند حاوی نقشه های پیام در صورت اجرای کد منبع MFC باشد. در چنین حالتی، نقشههای پیام به اجرای عملکرد مرتبط میشوند که به عناصر UI مانند دکمه، چک باکس، دکمههای رادیویی و غیره مرتبط است.
تفاوت بین فایل های .H و .HH
ظاهراً هیچ تفاوتی بین فایلهای هدر .h و hh وجود ندارد، به جز روش توصیه شده برای استفاده از این فایلها برای زبانهای مربوطه مانند C یا C++. نامگذاری فایلهای هدر بر اساس این زبانها به شما کمک میکند تا در یک پروژه بزرگ که میتواند ترکیبی از پیادهسازی C و C++ باشد، بین اینها تمایز قائل شوید.
علاوه بر این، اگر سرصفحه ها با پسوند از هم جدا شوند، ویرایشگر شما می تواند قالب بندی مناسب را به ترتیب به صورت خودکار اعمال کند.
به طور کلی، تمایز این دو فرمت فایل هیچ ضرری نخواهد داشت، اما سودمند خواهد بود و توصیه می شود برای تمایز C و C++ دنبال شود.
هدر گارد
فایلهای هدر میتوانند به خطاهای پیچیده تبدیل شوند که در آن چندین اعلان در یک فایل در نتیجه اضافه کردن فایلهای هدر دیگر گنجانده میشود. این تعاریف تکراری باعث افزایش خطاهای کامپایلر می شود. این وضعیت مشکل ساز را می توان از طریق مکانیزمی به نام محافظ سرصفحه که دستورالعمل های کامپایل مشروط هستند، اجتناب کرد.
#ifndef ANY_UNIQUE_NAME_HERE_HPP
#define ANY_UNIQUE_NAME_HERE_HPP
// your declarations (and certain types of definitions) here
#endif
با این هدر، پیش پردازنده بررسی می کند که آیا «ANY_UNIQUE_NAME_HERE_HPP» قبلاً تعریف شده است یا خیر. اگر هدر به طور مکرر در یک فایل قرار داده شود، محتویات هدر نادیده گرفته می شود.
منابع
See Also
- H - فرمت فایل هدر C/C++
- SMC File - Super Nintendo Game ROM - فایل .smc چیست و چگونه آن را باز کنیم؟
- فایل BIB - BibTeX Bibliography - فایل .bib چیست و چگونه آن را باز کنیم؟
- فایل FS - Visual F# Source File - فایل .fs چیست و چگونه آن را باز کنیم؟
- فایل GED - GEDCOM Genealogy Data File - فایل .ged چیست و چگونه آن را باز کنیم؟