PDA

نسخه کامل مشاهده نسخه کامل : ifndef و define



Life24
04-06-2013, 07:45
#ifndef HEADERFILE_H
#define HEADERFILE_H

and at the end of the file is
#endif



سلام
امکان داره توضیح بدید؟ دقیقا هیچی نفهیدم
مثالی چیزی

Msba
04-06-2013, 10:18
این دستورات زمانی مفید است که بخواهیم یک هدر فقط یک بار تفسیر شود.
مثلا برنامه ی شما دارای چهار سورس است و در هر سورس به طور مثال testHead.h را وارد کرده اید.
خوب بسته به کامپایلر ممکن است این هدر بار ها تفسیر شود و باز هم بسته به کامپایلر ممکن است پیغام Duplicate هدر، به شما داده شود.
با تعریف هر هدر یک ماکرو به نام آن هدر + H_ تعریف می شود. حال با گذاشتن شرط #ifdef و یا #ifndef می توان از بارگذاری آن هدر اطمینان یافت و در صورتی که آن هدر وجود داشت و کامپایلر در قبل آن را تفسیر کرده بود از تعریف مجدد خودداری کرد. این دستورات در اکثر برنامه های Open Source وجود دارد.

موفق باشید.

Life24
04-06-2013, 11:26
این دستورات زمانی مفید است که بخواهیم یک هدر فقط یک بار تفسیر شود.
مثلا برنامه ی شما دارای چهار سورس است و در هر سورس به طور مثال testHead.h را وارد کرده اید.
خوب بسته به کامپایلر ممکن است این هدر بار ها تفسیر شود و باز هم بسته به کامپایلر ممکن است پیغام Duplicate هدر، به شما داده شود.
با تعریف هر هدر یک ماکرو به نام آن هدر + H_ تعریف می شود. حال با گذاشتن شرط #ifdef و یا #ifndef می توان از بارگذاری آن هدر اطمینان یافت و در صورتی که آن هدر وجود داشت و کامپایلر در قبل آن را تفسیر کرده بود از تعریف مجدد خودداری کرد. این دستورات در اکثر برنامه های Open Source وجود دارد.

موفق باشید.
سلام
ممنون از شما
برای خواندن ماکروها بهتر به کجا مراجعه است؟ تو کتاب هایی که خوندم جز اسمبلی چیزی ندیدم. اونم تو اسبملی هم نخوندیم!! :n13: