۱۵-آذر-۱۳۹۱, ۲۱:۰۷:۰۴
۰۴-مهر-۱۳۹۲, ۰۰:۴۶:۱۴
باز هم خودم جواب خودم رو بدم
--
بله این TRY - CATCH این بازی ها مال c++ هست و خوب برای میکرو هم کامپایلر c++ وجود داره
ولی اینکه چرا وقتی برنامه c مینویسیم این هارو هم میاره برمیگرده به مشکل اون برنامه ای که تکمیل کد رو برای ما انجام میده وگرنه توی C هیچ کاربردی نداره

--
بله این TRY - CATCH این بازی ها مال c++ هست و خوب برای میکرو هم کامپایلر c++ وجود داره
ولی اینکه چرا وقتی برنامه c مینویسیم این هارو هم میاره برمیگرده به مشکل اون برنامه ای که تکمیل کد رو برای ما انجام میده وگرنه توی C هیچ کاربردی نداره

۰۴-مهر-۱۳۹۲, ۰۰:۵۷:۲۳
یه سوالم من داشتم... مرتبط نبود انتقال بدین به چت باکس علمی لطفا 
چند وقت پیش برنامه ای نوشته بودم..(برا میکرو)
یه آرایه 4 تایی تعریف شده بود
ولی حین اجرای برنامه اشتباهی ایندکس 5 ام رو میخوندم...
برنامه هم کار میکرد!!
یعنی دستور هایی بعدش رو هم اجرا میکرد...
اما مقدار متغیر کلا وجود نداشت...
حتی با دیباگر هم نگاه کردم، جلوش هیچی نمی نوشت...(مقدار نداشت)
اینجور شرایط رو چطوری میشه کنترل کرد؟( زبون C )
+
تا حالا کسی با ++C برای میکرو برنامه نوشته؟ میشه؟ نمیشه؟ چطوریه؟
توی پروژه های سنگین، C اذیت میکنه... مخصوصا بابت متغیر های global و ...

چند وقت پیش برنامه ای نوشته بودم..(برا میکرو)
یه آرایه 4 تایی تعریف شده بود
ولی حین اجرای برنامه اشتباهی ایندکس 5 ام رو میخوندم...
برنامه هم کار میکرد!!
یعنی دستور هایی بعدش رو هم اجرا میکرد...
اما مقدار متغیر کلا وجود نداشت...
حتی با دیباگر هم نگاه کردم، جلوش هیچی نمی نوشت...(مقدار نداشت)
اینجور شرایط رو چطوری میشه کنترل کرد؟( زبون C )
+
تا حالا کسی با ++C برای میکرو برنامه نوشته؟ میشه؟ نمیشه؟ چطوریه؟
توی پروژه های سنگین، C اذیت میکنه... مخصوصا بابت متغیر های global و ...
۰۴-مهر-۱۳۹۲, ۰۱:۰۳:۴۱
بیانیه: از این تاریخ به سوالات بیش از نیم خط پاسخی داده نخواهد شد
دستی باید کنترل کنید.
دلیل اینکه برنامه کار می کرد اینه که این آرایه ها فقط یه اشاره گر هستن
یعنی اگه شما یه ایندکس اشتباه بدی درنهایت یه نقطه اشتباه رو هم میخونی و مشکل اون موقعی ایجاد میشه که جای اشتباه رو هم بنویسی
مشکلی هم نداره
ولی یکسری از قابلیت ها کار نمی کنن مثلا ایجاد یک شی از یک کلاس (همش همون اول کار ایجاد میشن)
ولی شدیدا توصیه شده که اگه واقعا نیازی به قابلیت های خاص C++ ندارید ازش استفاده نکنید.

اگه برنامه رو خوب و تمیز بنویسید مشکلی پیش نمی یاد معمولا سوتی های برنامه نویس هست که پروژه های بزرگ رو با مشکل رو برو می کنه ولی درکل اگه مشکل از کامپایلر باشه C++ چیز خاصی رو فکر نکنم دوا کنه.

(۰۴-مهر-۱۳۹۲, ۰۰:۵۷:۲۳)salehjg نوشته است: [ -> ]چند وقت پیش برنامه ای نوشته بودم..(برا میکرو)این چیز رو با این کچ و اینا نمیشه کنترل کرد (تاجایی که من می دونم)
یه آرایه 4 تایی تعریف شده بود
ولی حین اجرای برنامه اشتباهی ایندکس 5 ام رو میخوندم...
برنامه هم کار میکرد!!
یعنی دستور هایی بعدش رو هم اجرا میکرد...
اما مقدار متغیر کلا وجود نداشت...
حتی با دیباگر هم نگاه کردم، جلوش هیچی نمی نوشت...(مقدار نداشت)
اینجور شرایط رو چطوری میشه کنترل کرد؟( زبون C )
دستی باید کنترل کنید.
دلیل اینکه برنامه کار می کرد اینه که این آرایه ها فقط یه اشاره گر هستن
یعنی اگه شما یه ایندکس اشتباه بدی درنهایت یه نقطه اشتباه رو هم میخونی و مشکل اون موقعی ایجاد میشه که جای اشتباه رو هم بنویسی

نقل قول: تا حالا کسی با ++C برای میکرو برنامه نوشته؟ میشه؟ نمیشه؟ چطوریه؟بله توی همون اتمل استادیو میشه نوشت
مشکلی هم نداره
ولی یکسری از قابلیت ها کار نمی کنن مثلا ایجاد یک شی از یک کلاس (همش همون اول کار ایجاد میشن)
ولی شدیدا توصیه شده که اگه واقعا نیازی به قابلیت های خاص C++ ندارید ازش استفاده نکنید.
نقل قول: توی پروژه های سنگین، C اذیت میکنه... مخصوصا بابت متغیر های global و ...چه اذیتی می کنه؟ بگو بزنیم تو سرش آدم بشه

اگه برنامه رو خوب و تمیز بنویسید مشکلی پیش نمی یاد معمولا سوتی های برنامه نویس هست که پروژه های بزرگ رو با مشکل رو برو می کنه ولی درکل اگه مشکل از کامپایلر باشه C++ چیز خاصی رو فکر نکنم دوا کنه.
۰۴-مهر-۱۳۹۲, ۰۱:۲۰:۰۳
نقل قول: دلیل اینکه برنامه کار می کرد اینه که این آرایه ها فقط یه اشاره گر هستنمشابه این حالت هم یه بار برام رخ داد
یعنی اگه شما یه ایندکس اشتباه بدی درنهایت یه نقطه اشتباه رو هم میخونی و مشکل اون موقعی ایجاد میشه که جای اشتباه رو هم بنویسی
یه متغیر static داخل تابعی داشتم...
مقدار دهی میشد
ولی بعد فراخوانی دوباره، متغیر مقداری نداشت!!!
که بعدا با گذاشتن یه خازن 4700 میکرو فاراد حل شد


نقل قول: بله توی همون اتمل استادیو میشه نوشت
مشکلی هم نداره
ولی یکسری از قابلیت ها کار نمی کنن مثلا ایجاد یک شی از یک کلاس (همش همون اول کار ایجاد میشن)
ولی شدیدا توصیه شده که اگه واقعا نیازی به قابلیت های خاص C++ ندارید ازش استفاده نکنید.


نقل قول: چه اذیتی می کنه؟ بگو بزنیم تو سرش آدم بشهبرنامه های سنگین متغیر های سراسری رو چطوری تعریف میکنن؟
اگه برنامه رو خوب و تمیز بنویسید مشکلی پیش نمی یاد معمولا سوتی های برنامه نویس هست که پروژه های بزرگ رو با مشکل رو برو می کنه ولی درکل اگه مشکل از کامپایلر باشه C++ چیز خاصی رو فکر نکنم دوا کنه.
من معمولا توی یه فایل جدای C تغریف میکنم، بعد داخل یه هدر فایل با extern پروتو تایپ اون متغیر ها رو می نویسم و احیانا اگر نیاز بود، مقدار دهی اولیه میکنم.. ....
منظورمو رسوندم؟
اگه نه مثال بزنم...
با این کار هر کجای توابعی که توی c.* های مجزا تعریف شدن، به اون متغیر ها نیاز داشتم، ازشون استفاده میکنم...
مشکلی که هست اینکه sram بطور نجومی مصرف میشه :)
راه بهتری هم هست؟
(با اشاره گر ها نمیشه هی آدرس به توابع فرستاد، اوضاع خیلی ناجور میشه)
۰۴-مهر-۱۳۹۲, ۰۱:۳۷:۰۵
(۰۴-مهر-۱۳۹۲, ۰۱:۲۰:۰۳)salehjg نوشته است: [ -> ]برنامه های سنگین متغیر های سراسری رو چطوری تعریف میکنن؟
من معمولا توی یه فایل جدای C تغریف میکنم، بعد داخل یه هدر فایل با extern پروتو تایپ اون متغیر ها رو می نویسم و احیانا اگر نیاز بود، مقدار دهی اولیه میکنم.. ....
منظورمو رسوندم؟
اگه نه مثال بزنم...
با این کار هر کجای توابعی که توی c.* های مجزا تعریف شدن، به اون متغیر ها نیاز داشتم، ازشون استفاده میکنم...
مشکلی که هست اینکه sram بطور نجومی مصرف میشه :)
راه بهتری هم هست؟
(با اشاره گر ها نمیشه هی آدرس به توابع فرستاد، اوضاع خیلی ناجور میشه)



---
خوب اگه واقعا قراره توی همه ی توابع استفاده بشن
خب دیگه میکرو هم محدودیت هایی داره دیگه معجزه که دیگه نمی شه کرد باید یه میکرو ی دیگه خرید
