NOTICE توجه: این یک موضوع قدیمی است که آخرین پست ارسالی آن مربوط به 3831 روز قبل است . لطفا فقط پاسخ ها ، سوالات و درخواست های 100 درصد مرتبط را به آن ارسال کنید و برای درخواست ها و سوالات جدید موضوع جدیدی را ایجاد کنید
نمایش نتایج: از 1 به 3 از 3

موضوع: مشکل در تعریف ماکرو

  1. #1
    عضو جدید
    تاریخ عضویت
    Apr 2010
    نام
    حامد برآبادی
    نوشته ها
    14
    تشکر
    0
    تشکر شده 2 بار در 2 پست

    پیش فرض مشکل در تعریف ماکرو

    با عرض سلام و خسته نباشید خدمت شما. من در فایلهای header که برای ماژولهای مختلف و برای میکروکنترلرهای AVR به زبان C نوشته میشه دیدم که در ابتدای برنامه از دستور پیش پردازنده ifndef استفاده میشه و در خط بعدی از دستور پیش پردازنده define استفاده میشه. به عنوان نمونه :

    ifdef LCD_H
    define LCD_H

    اولا به من بگین که برای چی در ابتدای برنامه از این دستورات استفاده میشه. ثانیا در دستور پیش پردازنده define چرا فقط نام ماکرو که در اینجا LCD_H هست ذکر شده و رشته ای که ماکرو جایگزین آن است ذکر نشده است. خیلی ممنون.

  2. # ADS
    Circuit advertisement
    تاریخ عضویت
    Always
    نام
    Advertising world
    نوشته ها
    Many
     

  3. #2
    مدیرکل انجمنها agape آواتار ها
    تاریخ عضویت
    Feb 2009
    نام
    Zeus
    نوشته ها
    1,235
    تشکر
    139
    تشکر شده 2,209 بار در 846 پست

    پیش فرض

    سلام
    خوب دستور اول شرطی هست و میگه اگر ماکروی روبرو طعریف نشده باشه خط زیرش اجرا شه ،
    در واقع این دستورات که شما گذاشتی سه خطه که خط آخر رو معمولا انتهای فایل می ذارن
    به این صورت
    کد:
    #ifndef LCD_H
    #define LCD_H
    
    .
    .
    Code....
    #endif
    توی این قالب اگه به دلایلی شما این فایل رو دوبار اینکلودش کنید ، بار دوم نادیده گرفته میشه -
    بار اول ماکروی LCD_H تعریف نشده و شرط درسته و میآد محتویات فایل رو اضافه میکنه و البته ماکرو رو نیز تعریف میکنه ، بار دوم دیگه ماکرو تعریف شده و دیگه محتویات اینکلود نمیشه

  4. کاربران : 3 تشکر کرده اند از شما agape برای ارسال این پست سودمند:


  5. #3
    عضو جدید
    تاریخ عضویت
    Apr 2010
    نام
    حامد برآبادی
    نوشته ها
    14
    تشکر
    0
    تشکر شده 2 بار در 2 پست

    پیش فرض

    سلام.
    پس چرا در دستور define هیچ رشته ای ذکر نشده است. یعنی ماکروی LCD_H جایگزین چه رشته ای می شود. خیلی ممنون.

موضوعات مشابه

  1. کمبود تعداد پایه‏های میکرو!
    توسط sobhan537 در انجمن AVR
    پاسخ: 27
    آخرين نوشته: 13-09-2013, 12:03
  2. تبدیل تعداد و شکل پالس
    توسط TABRIZMACHINE در انجمن الکترونیک
    پاسخ: 9
    آخرين نوشته: 02-09-2013, 04:42
  3. تعداد عمده قطعات
    توسط nima_elc در انجمن الکترونیک
    پاسخ: 4
    آخرين نوشته: 24-05-2013, 17:29
  4. تعريف ورودي و خواندن آن
    توسط kavehE در انجمن AT91 series (ATMEL)
    پاسخ: 7
    آخرين نوشته: 29-12-2009, 12:35
  5. تعطیلات و تشکیل گروههای همکار
    توسط kavir در انجمن گفت و گوي آزاد
    پاسخ: 2
    آخرين نوشته: 01-03-2009, 21:28

مجوز های ارسال و ویرایش

  • شما نمیتوانید موضوع جدیدی ارسال کنید
  • شما امکان ارسال پاسخ را ندارید
  • شما نمیتوانید فایل پیوست کنید.
  • شما نمیتوانید پست های خود را ویرایش کنید
  •