ورود به حساب ثبت نام جدید فراموشی کلمه عبور
برای ورود به حساب کاربری خود، نام کاربری و کلمه عبورتان را در زیر وارد کرده و روی «ورود به سایت» کلیک کنید.





اگر فرم ورود برای شما نمایش داده نمیشود، اینجا را کلیک کنید.









اگر فرم ثبت نام برای شما نمایش داده نمی‌شود، اینجا را کلیک کنید.









اگر فرم بازیابی کلمه عبور برای شما نمایش داده نمی‌شود، اینجا را کلیک کنید.





کاربران برچسب زده شده

صفحه 1 از 2 12 آخرین
نمایش نتایج: از 1 به 10 از 13
  1. #1
    2013/04/06
    yazd
    1,020
    94

    دستورات پیش پردازنده

    من زبان سی را دارم یاد میگیرم.اما هرچی هم مطالعه کردم قانع نشدم که این دستورات پیش پردازنده چه حسنی دارند
    اینکه این دستورات قبل از کامپایل شدن تبدیل به دستورات قابل فهم برای سیستم میشند .خوب چه حسنی دارند.ما میتونیم حین کامپایل کردن هر اطلاعاتی که میخواهیم تعریف کنیم.
    دوما اینکه گفته شد با این کار میتوان برنامه قابل حمل باشه (به اصطلاح) خوب میتوان از توابع هم استفاده نمود خوب پس برای چی از این دستورات پیش پردازنده استفاده میکنیم.ممنون میشم دوستان کمکم کنند.
  2. #2
    2012/12/30
    بوشهر
    3,206
    1,111

    پاسخ : دستورات پیش پردازنده

    سلام
    اول از همه به دنیای C خوش اومدید.
    دوم اینکه باید بگم که این سوال موضوع آنچنانی نیست. دوستان انگلیسی و امریکایی و سوئدی و... من بعد از 30 - 40 سال کد نویسی حرفه ای با C هنوز میگن که گاهی وقتا توی C می مونن. این چیزی که شما پرسیدید که چیز خاصی نیست.
    سوم وجود ماکرو ها یا دستورات پیش پردازنده دلایل متعددی دارند. تا جایی که من دیدم حتی بعضی کامپایلرها ماکروهای خاص خودشون رو دارند. ولی عمومی ترین کاربرد شون مثلا اینه که شما وقتی می خوایید به چند متغییر متفاوت یه مقدار اولیه برابر بدهید می تونید مثلا از ماکروها استفاده کنید. دیگه لازم نیست دستی هر بار به این متغییرها مقدار بدید. با یه بار تغییر مقدار ماکرو دیگه کامپایلر خودش اونا رو تغییر میده. الان ممکنه برات یه سوال پیش بیاد. مثلا بگی که خب با یه متغییر هم میشه این کار رو کرد. بله میشه ولی آیا همین متغییر هم حافظه اشغال نمیکنه؟ چه رم یا چه فلش. از دوستانی که با میکرو کار میکنن بپرس ببین گاهی وقتا آیا مشکل استک مثلا نداشتن؟ یا حتی همین حافظه فلش. جستجو هم کنی خودت این تاپیک ها رو میبینی. از طرفی این به کدت نظم هم میده و برای پرتابل کردن یا همون قابل حمل کردنش خیلی کمک میکنه و ساده میشه. می تونی با اضافه کردن یه کامنت ساده به استفاده کننده کدت بگی که چطور تغییرات دلخواهش رو بده. خیلی ساده. فقط یه جا کامنت می ذاری. این بهتره یا کلی جا بگی تغییر بده؟ تازه وقتی میزان حجم پروژه شما زیاد میشه به این مزیت ماکروها در C و C++ پی می بری.
    بحث توابع جدا هستش. اصلا مربوط به اونا نمیشه. شما چطوری می خوای این کارو با توابع بکنی؟
    اینایی که من گفتم قطره کوچکی بود از C
    اگه بیشتر در مورد ماکروها میخوای بدونی برو دفترچه راهنمای کامپایلرت رو بخون.
  3. #3
    2013/04/06
    yazd
    1,020
    94

    پاسخ : دستورات پیش پردازنده

    ممنون اقای روح الامین .شایدئ مشکل از کم تجربگی بنده است که باز هم قانع نشدم اما خودم دارم با اتمل استودیو کار میکنم.ایا در این مورد جایی راهنمایی کرده یا خیر؟
  4. #4
    2005/12/23
    441
    117

    پاسخ : دستورات پیش پردازنده

    برخی امکانات دستورات پیش پردازنده اکنون توصیه نمی شود که استفاده کنید. مثلا در بحث تعریف ثوابت جهت محاسبات و یا مقداردهی به متغییرها، توصیه می*شود از const استفاده کنید تا کمپایلر در تشخیص نوع دچار اشتباه نشود. یا بهتر است بجای استفاده از ماکروها از توابع inline استفاده کنید.

    اما هنوز موارد زیاد و مهمی هم هست که استفاده از این دستورات مفید است، مثلا اگر بخش هایی از برنامه شما باید در زمان کمپایل، کمپایل نشده و بخش های دیگر کمپایل شوند. در اینجا شرط فوق را صرفاً توسط دستورات پیش پردازنده می*توانید اعمال کنید.

    مهمان عزیز شما حق دیدن لینک ها را ندارید

    عضویت

  5. #5
    2012/12/30
    بوشهر
    3,206
    1,111

    پاسخ : دستورات پیش پردازنده

    نقل قول نوشته اصلی توسط mostafa6369

    مهمان عزیز شما حق دیدن لینک ها را ندارید

    عضویت

    ممنون اقای روح الامین .شایدئ مشکل از کم تجربگی بنده است که باز هم قانع نشدم اما خودم دارم با اتمل استودیو کار میکنم.ایا در این مورد جایی راهنمایی کرده یا خیر؟
    پس یه کار دیگه میکنیم. شما هرجا برات سواله بگو تا برات واضح بشه. مثلا مثال من برات کجاش قانع کننده نیست؟ دلیلش رو هم بگو. lachini هم یه مثال خیلی خوب دیگه زده.
  6. #6
    2013/04/06
    yazd
    1,020
    94

    پاسخ : دستورات پیش پردازنده

    با سلام
    مثلا این دستور شرطی if با دستور پیش پردازنده if# چه تفاوتی داره.خوب اون که مربوطه به پیش پردازنده است و ابتدا کامپایل میشه درست.اما چه حسنی داره.هر دوتاش یه شرایطی را برسی میکنه و دستورات داخل شرط را انجام میده
  7. #7
    2012/12/30
    بوشهر
    3,206
    1,111

    پاسخ : دستورات پیش پردازنده

    نقل قول نوشته اصلی توسط mostafa6369

    مهمان عزیز شما حق دیدن لینک ها را ندارید

    عضویت

    با سلام
    مثلا این دستور شرطی if با دستور پیش پردازنده if# چه تفاوتی داره.خوب اون که مربوطه به پیش پردازنده است و ابتدا کامپایل میشه درست.اما چه حسنی داره.هر دوتاش یه شرایطی را برسی میکنه و دستورات داخل شرط را انجام میده
    دوست عزیز این که کاملا پرواضح هستش. اون If موقع کار برنامه وجود داره و شرایط رو هر لحظه بررسی میکنه و عملیات مورد نظر رو انجام میده. این با #if به نظرتون فرقی نداره؟ این #if برای اینه که شما می تونی مثلا قسمتی از کدها رو با توجه به شرایط اولیه که خودمون میدیم به برنامه کم یا اضافه کنیم. سعی کنید پروژه های آماده روی نت رو بگیرید و بررسی شون بکنید. بعضی چیزا رو واقعا باید توی عمل ببینید.
  8. #8
    2009/10/25
    تهران
    414
    24

    پاسخ : دستورات پیش پردازنده

    فرض کن یه فلگ میذاری میگی اگر مثلا یک بود یک قسمتی از کد حذف شه و کامپایل نشه
    کاربرد این

    مهمان عزیز شما حق دیدن لینک ها را ندارید

    عضویت

    اینه در حالی که if معمولی همیشه توی کد هست

    این دستورات کاربردها شون خیلی زیادن. مثلا شما فرض کن میخوای کدت رو جوری بنویسی که هم توی ویندوز و هم توی لینوکس کار کنه. خب دو تا کد متفاوت لازمه. شما با همین

    مهمان عزیز شما حق دیدن لینک ها را ندارید

    عضویت

    میتونی کدی که برای لینوکس کامپایل میشه رو از کدی که برای ویندوز کامپایل میشه جدا کنی

    یا مثلا تو پروژه های بزرگ خیلی پیش میاد که یک فایل ممکنه دو بار اینکلود شه که در این صورت کامپایلر خطا میده و متوقف میشه. با استفاده از این دستورات میتونی جلوی اینکلود شدن مجدد یک فایل رو بگیری
  9. #9
    2011/08/07
    اصفهان
    974
    66

    پاسخ : دستورات پیش پردازنده

    سلام
    به نظرم یه کار برد خوب تو اضافه کردن یه فایل هدر هست اگر تو چنتا فایل یه هدر یا چنتا هدر اینکلاد بشه مشکل پیش میاد با دستور پیش پردازنده میتونی
    از این کار جلوگیری کنی بدون این که درد سر داشته باشی
    یا مثلا یه کتابخونه مینویسی برای میکرو arm ولی معلوم نیست با کدوم میکرو (lpc , stm32, atmel ,... ) قراره استفاده یا با کدوم کامپایلر کامپایل بشه ممکنه این میکروها
    یا کامپایلر ها تو یه دستور با هم متفاوت باشند برای این که نخوای چنتا کتابخونه بنویسی میتونی اینجا از همین دستور پیش پردازنده

    مهمان عزیز شما حق دیدن لینک ها را ندارید

    عضویت

    استفاده کنی و اون دستورات خاص رو
    بنویسی
  10. #10
    2018/06/25
    129
    7

    پاسخ : دستورات پیش پردازنده

    سلام دوستان دستور پیش پردازنده کلاک کریستال 12 مگاهرتز برا atmega8 چیه؟
صفحه 1 از 2 12 آخرین
نمایش نتایج: از 1 به 10 از 13

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

  1. سرعت پردازنده در اجرای دستورات
    توسط hosseinam در انجمن میکروکنترلرهای AVR
    پاسخ: 21
    آخرين نوشته: 2016/06/15, 13:35
  2. پردازنده Cortex-M7 جديد ترين پردازنده ARM
    توسط IRT در انجمن پروسسورهای ARM
    پاسخ: 16
    آخرين نوشته: 2015/03/12, 20:15
  3. مجموع دستورات پردازنده arm
    توسط alialaei110 در انجمن پروسسورهای ARM
    پاسخ: 10
    آخرين نوشته: 2014/03/22, 05:13
  4. تفاوت پردازنده های x86 با پردازنده های arm و غیره
    توسط aryaarya در انجمن پروسسورهای ARM
    پاسخ: 0
    آخرين نوشته: 2014/01/22, 07:08
  5. پردازنده های DSP
    توسط engineer2012 در انجمن سایر مطالب مرتبط با ميکرو ها و پروسسورها
    پاسخ: 0
    آخرين نوشته: 2008/11/17, 19:17

کلمات کلیدی این موضوع

علاقه مندي ها (Bookmarks)

علاقه مندي ها (Bookmarks)

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

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