اطلاعیه

Collapse
No announcement yet.

مشکل با برنامه نویسی

Collapse
X
 
  • فیلتر
  • زمان
  • Show
Clear All
new posts

    مشکل با برنامه نویسی


    آقا این کد یعنی چی ؟
    میشه یکی خط به خط توضیح بده

    کد:
    #pragma optsize-
    WDTCR=0x18;
    WDTCR=0x08;
    #ifdef _OPTIMIZE_SIZE_
    #pragma optsize+
    #endif 
    .
    .
    .
    
    #asm("wdr")

    #2
    پاسخ : مشکل با برنامه نویسی

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

    سطر حاوی pragma میگه بهینه کردن کد از طریق کم کردن حجم فعلا موقوف! احتمالا به خاطر اینه که برای فعال کردن چیزی حتما بایستی مقدار WDTCR دوبار پشت سر هم ست بشه و شاید اگر این مورد در لحظه کامپایل کردن این خطوط فعال باشه دستور WDTCR = 0x18 رو زیادی تشخیص بده و حذفش کنه.

    بعد از رد شدن از روی این خطوط حساس به بهینه سازی چک میشه آیا کامپایلر قرار بوده بهینه سازی حجمی انجام بده یا نه. اگر بوده که دوباره از طریق دستور pragma این امکان رو دوباره فعال میکنه.

    درست مثل اینکه وسط صحبت یکی بپری و بگی: ...اوهوی ساکت! بعد از چند لحظه پیش خودت فکر کنی: مثل اینکه داشت حرف میزد ها! بعد بهش بگی: خوب.....میفرمودین!

    عینا!

    دیدگاه


      #3
      پاسخ : مشکل با برنامه نویسی

      نوشته اصلی توسط reza_agha
      من که نمیدونم این کد رو با چه کامپایلری نوشتین. اما میشه حدس هایی زد.

      سطر حاوی pragma میگه بهینه کردن کد از طریق کم کردن حجم فعلا موقوف! احتمالا به خاطر اینه که برای فعال کردن چیزی حتما بایستی مقدار WDTCR دوبار پشت سر هم ست بشه و شاید اگر این مورد در لحظه کامپایل کردن این خطوط فعال باشه دستور WDTCR = 0x18 رو زیادی تشخیص بده و حذفش کنه.

      بعد از رد شدن از روی این خطوط حساس به بهینه سازی چک میشه آیا کامپایلر قرار بوده بهینه سازی حجمی انجام بده یا نه. اگر بوده که دوباره از طریق دستور pragma این امکان رو دوباره فعال میکنه.

      درست مثل اینکه وسط صحبت یکی بپری و بگی: ...اوهوی ساکت! بعد از چند لحظه پیش خودت فکر کنی: مثل اینکه داشت حرف میزد ها! بعد بهش بگی: خوب.....میفرمودین!

      عینا!


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

      دیدگاه


        #4
        پاسخ : مشکل با برنامه نویسی

        اگه میدونی این دو خط کذایی چکار میکنه میتونی برای امنیت کد خودت با این دستورات pragma اون رو وسط کد خودت بذاری. نترس. اگه size optimization فعال باشه یا نباشه این کدها هیچ تغییری توی نحوه کامپایل برنامه ات نمیده. فقط برای کامپایل همون دو خط کاربرد داره.

        دیدگاه

        لطفا صبر کنید...
        X