اطلاعیه

Collapse
No announcement yet.

وارنینگ not used in data stack usage

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

    وارنینگ not used in data stack usage

    سلام
    من توی کدویژن این وارنینگ رو دارم جریانش چیه؟
    function 'chang_time' not used in data stack usage calculation due to possible recursive calls

    و یه سوال دیگه
    تفاوت double و float چیه
    انجام پروژه هاي برنامه نويسي اندرويد
    [glow=red,2,300]نرم افزار نقشه هاي پاور کامپيوتر اندوريد[/glow]
    http://cafebazaar.ir/app/?id=com.atxdroid

    #2
    پاسخ : وارنینگ not used in data stack usage

    این هشدار میگه:
    بعلت اینکه تابع فوق الذکر بطور بازگشتی خودش رو صدا میکنه؛ نمیشه حجم استک اطلاعاتی مصرفی رو از روی کد اش تخمین زد.

    float دارای حجمی برابر با 4 بایت - 7 الی 8 رقم بامعنی و توانی برابر با 38 هست.
    double دارای حجمی برابر با 8 بایت - 15 تا 16 رقم با معنی و توانی برابر با 308 هست.

    بطور کلی اگر رنج عددی بالا یا دقت عددی بالاتری میخوایین میتونین از double استفاده کنین ولی ایرادش هم اینه که هر double دو برابر یک float حافظه میبره.

    دیدگاه


      #3
      پاسخ : وارنینگ not used in data stack usage

      عجب
      خوب ببین تو هلپ این طوری نوشته


      float 32 ±1.175e-38 to ±3.402e38
      double 32 ±1.175e-38 to ±3.402e38


      هر دوتا 32 بیتیه چطوری یکی 4 بیته اون یکی 8 بیته
      انجام پروژه هاي برنامه نويسي اندرويد
      [glow=red,2,300]نرم افزار نقشه هاي پاور کامپيوتر اندوريد[/glow]
      http://cafebazaar.ir/app/?id=com.atxdroid

      دیدگاه


        #4
        پاسخ : وارنینگ not used in data stack usage

        عجب
        خوب ببین تو هلپ این طوری نوشته
        اهه! زرنگی آقای فاریابی؟؟!! :mrgreen:
        این آدرس رو ببین:
        http://en.wikipedia.org/wiki/IEEE_754-2008

        ضمنا این فرم عمومی بود. در WinAVR به هر علتی اومده و هر جا double استفاده میکنی عملیات رو روی float انجام میده و تا جایی که میدونم فقط IAR این دو نوع رو از هم تفکیک کرده. این چیزی که خدمتتون گفتم تئوری قضیه بود. ولی WinAVR (و از اینجا هم معلوم میشه که کد ویژن) نوع double رو نمیشناسن و بجاش از float استفاده میکنن.

        هر دوتا 32 بیتیه چطوری یکی 4 بیته اون یکی 8 بیته
        ضمنا توجه دارین که من عرض کردم:
        float دارای حجمی برابر با 4 بایت - 7 الی 8 رقم بامعنی و توانی برابر با 38 هست.
        double دارای حجمی برابر با 8 بایت - 15 تا 16 رقم با معنی و توانی برابر با 308 هست.
        کسی اسمی از بیت نبرد.

        تازه نوع long double هم هست که 10 بایتی هست.

        دیدگاه


          #5
          پاسخ : وارنینگ not used in data stack usage

          چه جالب
          تو کدویژن اگه از دابل استفاده کنیم این وارنینگ رو میده
          the 'double' data type will be supported only in the 'Professional' version, defaulting to 'float'

          ورژن من هم وقتی تو ابوت نگاه میکنم میگه advanced هستش ورژن پرو از کجا گیر بیارم؟
          انجام پروژه هاي برنامه نويسي اندرويد
          [glow=red,2,300]نرم افزار نقشه هاي پاور کامپيوتر اندوريد[/glow]
          http://cafebazaar.ir/app/?id=com.atxdroid

          دیدگاه


            #6
            پاسخ : وارنینگ not used in data stack usage

            توصیه دوستانه ای کنم؛
            اگر شما الان به این محدودیت های کد ویژن برخوردین توصیه میکنم کلا بی خیال این کامپایلر بشین و برین سراغ یک چیز خوب و قوی مثل IAR که این محدودیت ها رو نداشته باشه. فقط مشکل ممکنه از لایبرری ها باشه که اونم اغلب کد های کد ویژن رو (هر کد فقط یکبار) میشه برای IAR ترجمه کرد.
            دیگه اونجا این دردسر ها رو ندارین.

            دیدگاه

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