اطلاعیه

Collapse
No announcement yet.

استفاده از عملگر های New و Delete در میکروکنترلر ها؟ /حافظه پویا در میکروکنترلر؟

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

    استفاده از عملگر های New و Delete در میکروکنترلر ها؟ /حافظه پویا در میکروکنترلر؟

    سلام
    میشه از این دو عملگر در میکرو کنترلر ها استفاده کرد یا نه؟ چرا؟
    تو کدویژن و کامپایلر آردوینو تست کردم نشد.
    اللَّهُمَّ صَلِّ عَلَى مُحَمَّدٍ وآلِ مُحَمَّدٍ وعَجِّلْ فَرَجَهُمْ

    اگه دوس دارید سریع به جواب برسید :
    1) قبل از پرسیدن سوال، بسرچید.
    2) سوالاتون رو با جزئیات کامل مطرح کنید.

    #2
    پاسخ : استفاده از عملگر های New و Delete در میکروکنترلر ها؟

    نوشته اصلی توسط md3848
    سلام
    میشه از این دو عملگر در میکرو کنترلر ها استفاده کرد یا نه؟ چرا؟
    تو کدویژن و کامپایلر آردوینو تست کردم نشد.
    این عملگر ها توی زبان C++ هستن. (در مبحث شی گرایی)
    زبان سی از شی گرایی پشتیبانی نمی کنه.

    زبان آردوینو فکر کنم سی پلاس پلاس باشه. (البته برای بعضی کامپایلر ها احتمالش هست که همه ی ویژگی های زبان پشتیبانی نشه).
    If the wind will not serve, take to the oars

    دیدگاه


      #3
      پاسخ : استفاده از عملگر های New و Delete در میکروکنترلر ها؟

      نوشته اصلی توسط ASHIT AXAR
      این عملگر ها توی زبان C++ هستن. (در مبحث شی گرایی)
      زبان سی از شی گرایی پشتیبانی نمی کنه.

      زبان آردوینو فکر کنم سی پلاس پلاس باشه. (البته برای بعضی کامپایلر ها احتمالش هست که همه ی ویژگی های زبان پشتیبانی نشه).
      زبان آردوینو ؟>>> فک کنم بگیم کامپایلر(یا کلمه بهتر ide) آردوینو از ++c استفاده میکنه بهتر باشه تا بگیم آردوینو از ++c استفاده میکنه.....
      درست میگم دیگه؟/یا اشتباه میگم؟ :question:
      چون فک نکنم نوع زبون به میکروکنترلر بستگی داشته باشه....چون شما هر کدی که داشته باشید در نهایت به زبون ماشین تبدیل میشه...حالا کدتون C باشه c++ ّاشه basic باشه و....
      بگذریم حاشیه نریم


      این عملگر ها توی زبان C++ هستن. (در مبحث شی گرایی)
      زبان سی از شی گرایی پشتیبانی نمی کنه.
      حرفتون صحیح، و تو کامپایلر کدویژن نمیتونیم ازش استفاده کنیم

      ولی چیزی که تو این دو عملگر هستش اینه که نیاز داره که حافظه ای باشه که به جایی تخصیص نداده شده باشه(آزاد باشه و متعلق به جایی نباشه)
      آیا میکرو کنترلر ها یا میکرو پروسسور ها همچین قابلیتی دارن؟ اگه داشته باشن پس میتونیم از new و delete آستفاده کنیم؟
      نظرتون چیه؟ آیا اصلا حرفم درسته؟
      اللَّهُمَّ صَلِّ عَلَى مُحَمَّدٍ وآلِ مُحَمَّدٍ وعَجِّلْ فَرَجَهُمْ

      اگه دوس دارید سریع به جواب برسید :
      1) قبل از پرسیدن سوال، بسرچید.
      2) سوالاتون رو با جزئیات کامل مطرح کنید.

      دیدگاه


        #4
        پاسخ : استفاده از عملگر های New و Delete در میکروکنتر

        نوشته اصلی توسط md3848
        زبان آردوینو ؟>>> فک کنم بگیم کامپایلر(یا کلمه بهتر ide) آردوینو از ++c استفاده میکنه بهتر باشه تا بگیم آردوینو از ++c استفاده میکنه.....
        درست میگم دیگه؟/یا اشتباه میگم؟ :question:
        چون فک نکنم نوع زبون به میکروکنترلر بستگی داشته باشه....چون شما هر کدی که داشته باشید در نهایت به زبون ماشین تبدیل میشه...حالا کدتون C باشه c++ ّاشه basic باشه و....
        بگذریم حاشیه نریم

        حرفتون صحیح، و تو کامپایلر کدویژن نمیتونیم ازش استفاده کنیم

        ولی چیزی که تو این دو عملگر هستش اینه که نیاز داره که حافظه ای باشه که به جایی تخصیص نداده شده باشه(آزاد باشه و متعلق به جایی نباشه)
        آیا میکرو کنترلر ها یا میکرو پروسسور ها همچین قابلیتی دارن؟ اگه داشته باشن پس میتونیم از new و delete آستفاده کنیم؟
        نظرتون چیه؟ آیا اصلا حرفم درسته؟
        بله البته.
        برای اینکه بررسی کنیم که یک متغیر تخصیص یافته یا نه کافیه آدرس اون رو بررسی کنیم. اگه ایجاد یک متغیر موفق آمیز باشه آدرس اون غیر صفر خواهد بود
        اگه برنامه موفق به تخصیص حافظه نشه آدرس صفر رو برمیگردونه.
        البته معمولا هیچ کس بررسی نمیکنه. مگه اینکه کاربرد حساسی باشه. یا گاهی آرایه ها رو مخصوصا اگه آرایه ی بزرگی باشه بررسی میکنن.

        [code=c]
        #define SIZE 20
        char array[SIZE];

        if(array == 0){
        // there is an error
        }

        [/code]

        البته بیشترین کاربردش توی همون ساختارها و آرایه های پویا هستش. که چون در زمان اجرا نسبت داده میشن و از قبل کامپایلر هیچ اطلاعی از اندازه یا گستردگی متغیر/ساختار/... نداره و نمی تونه اخطاری بده باید به این روش بررسی بشن تا مطمئن بشیم که متغیر ایجاد شده.
        If the wind will not serve, take to the oars

        دیدگاه

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