اطلاعیه

Collapse
No announcement yet.

معرفی بهترین کامپایلر برای c

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

    #46
    پاسخ : معرفی بهترین کامپایلر برای c

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

    1- چقدر می خواهید وقت بگذارید؟
    2- چه انتظاری از کامپایلر دارید؟

    مجموعه اطلاعات ناشی از این دو پاسخ منجر به این می شود که برای بعضی بسکام بهترین باشد و برای برخی دیگر کدویژن و به همین ترتیب GCC و IAR و شاید برنامه نویسی اسمبلی. واقعیت آن است که بدون توجه به این دو مورد، بحث کردن از بهترین کامپایلر منجر به یک سری مباحث بدون حاصل و بعضا غیرکارشناسی می شود که معمولا هم به نتیجه خاصی منجر نمی شود و تنها موجب گیج تر شدن مخاطبان کم تجربه تر می گردد.
    برای کسی که قصد استفاده از یک زبان برنامه نویسی و انتخاب کامپایلر مرتبط با آن را دارد، به غیر از مسئله هزینه ( که خوشبختانه یا متاسفانه در کشور ما موضوعیتی ندارد) توجه به تبعاتی که استفاده از آن ابزار از نظر زمانی ایجاد می کند بسیار مهم است. قدر مسلم آن است که انتخاب ابزار برنامه نویسی مانند بسکام و در مرتبه بعد کدویژن، بطور کلی زمان بسیار کمتری را از یک برنامه نویس نسبت به کامپایلری مانند IAR اشغال می کند و اصولا بحث و شکی در این مورد وجود ندارد. بنابراین با توجه به واقعیات موجود و سطح انتظاراتی که برای اکثر مخاطبین از برنامه نویسی AVR وجود دارد و با توجه به وقتی که می توانند در این مورد صرف کنند، با اطمینان می توان گفت که همان بسکام برای این اکثریت، بهترین محسوب می شود و حتی اصولا نیازی به برنامه نویسی C برای آنها وجود ندارد. در گروه برنامه نویسی C هم کامپایلر کدویژن برای اکثر قریب به اتفاق مخاطبانی که امروز در جامعه مهندسی برق ما مشغول فعالیت هستند و با توجه به سطح انتظارات و میزان وقت و انگیزه آنها،در زمره بهترین ها محسوب می شود.
    اما برای شخص یا مجموعه ای که بالاترین سطح انتظار از عملکرد یک کامپایلر C را توقع داشته باشد و تبعات زمانی این انتخاب را هم بپذیرد، قطعا کدویژن انتخاب اول نخواهد بود و اینجاست که باید به گزینه هایی مانند IAR بصورت ویژه ای توجه کرد. در یک شرکت بزرگ که صرف مثلا 5000 نفر-ساعت زمان برای انجام یک پروژه برنامه نویسی رقمی محسوب نمی شود و قرار است یک برنامه نویسی مبتنی بر ARM یا AVR را مثلا 20 نفر بصورت کتابخانه های مختلف انجام دهند و نهایتا نتیجه کار آنها توسط یک کامپایلر لینک شود، استفاده از ابزار حرفه ای مانند IAR است که پاسخگوی چنین مقیاس هایی از برنامه نویسی است.
    حاصل آنکه "بهترین کامپایلر" بر اساس مخاطب تعریف می شود و هر کس بنا به انتظاری که از یک کامپایلر دارد و زمانی که می تواند بنابر تبعات انتخاب خود صرف کند، باید تعیین کند که بهترین کامپایلر برای او کدام است؟ بنابر تجربیات شخصی خود، انتخاب IAR را تنها به کسانی توصیه می کنم که قصد دارند برنامه نویسی را به عنوان جزئی از حرفه خود انتخاب کنند و صدها و بلکه هزاران ساعت از وقت خود را در آینده برای برنامه نویسی رزرو کرده اند و البته کسانی که بیشترین انتظار را از یک کامپایلر دارند.
    (دو نفر از دوستان در پست های قبلی، سوالاتی را مطرح کردند که در فرصت دیگری به آنها پاسخ خواهم داد).
    -------------------------------
    سلام قکر کنم جواب آقای طراح بحث را پایان داده وگر نه :angry: دعوا می شد :mrgreen:

    من با بیسیک کا میکنم ولی برای دست رسی بیشتر به امکانات میکرو و تطبیق دادن آن با دیتاشیت می خوام با اسمبل و سی کار کنم .سوالی داشتم اونم

    IAR C and C++ compiler یه کمی در مورد C++ توضیح می دین ؟






    یادش بخیر یه وقتایی هر روز میومدم اینجا !

    دیدگاه


      #47
      پاسخ : معرفی بهترین کامپایلر برای c

      نوشته اصلی توسط e.fazli
      سلام دوستان.
      بنده با اکثر کامپایلر های C مربوط به AVR کار کردم.Codevision ,WinAVR ,IAR, ICCAVR و MikroC for AVR .
      شاید خیلی از دوستان از گفتن چیزی که بهش یرخورم خوششون نیاد.
      اولین کامپایلر C که با اون کار کردم Codevision بود. هرچند که وضعیت این کامپایلر از نظر کد های hex تولید شده مخصوصاً زمانی که با رشته ها و توابع مربوط به اون سر و کار دارید زیاد جالب نیست ولی کدهای تولید شده اکثر اوقات چه در خود میکروکنترلر و چه در شبیه سازهایی مانند Proteus به خوبی کار میکنند.
      بعد از تمجیدها و ستایش هایی که در باب GCC و WinAVR در سایتها و فروم ها شنیدم و خوندم تصمیم گرفتم که با این کامپایلر به اصطلاح قدرتمند و سورس باز که کتابخانه های زیادی هم به صورت رایگان برای اون وجود داره کار کنم.البته این کامپایلر رو در کنار AVRStudio و به صورت Plugin استفاده کردم.
      پس از مدت زیادی سر وکله زدن و یادگیری در سطح متوسط نتیجه ای که بدست اومد این بود:
      بسیار افتضاح است.
      این کامپایلر هم از نظر کد تولید شده و هم ازنظر کارایی کدها در میکرو و سیمولاتور بسیار بد عمل کرد.به طوری که چنانچه Optimization چه برای کد و چه برای سرعت اگر در بالاترین سطح باشد کدها به هیچ وجه در میکرو و سیمولاتور کار نخواهد کرد. حتی زمانی که سطح Optimization پایین تر قرار گیرد با وجود افزایش کد خروجی باز برنامه بر روی میکرو کنترلر به درستی کار نخواهد کرد و تنها زمانی که Optimization در پایین ترین سطح قرار گیرد کدها در شبیه ساز درست عمل نموده و شما از صحت برنامه نوشته شده خود اطمینان حاصل میکنید. ولی با این حال کد خروجی چنان افزایش یافته که نمیتوانید آن را در میکرو بریزید.
      این موردی بود که مدت زیادی با اون درگیر بودم و با تعاریفی که از این کامپایلر شنیده بودم کاملاً متعجب شدم و البته ناراحت از اینکه معروفترین کامپایلر منبع باز AVR اینقدر بد عمل میکند. فکر میکنم دوستانی که در مورد این کامپایلر تعصب دارند اصلاً میکرو پروگرم نکرده بودند یا نمیکنند و فقط برنامه ها رو در شبیه سازی مثلProteus تست میکنند. چون اگه به کد خروجی این کامپایلر نگاه می انداختند دیگه اسمش رو هم نمی آوردند.
      لازم به ذکر است که خود بنده در ابتدا به نسخه WinAVR که باهاش کار میکردم مشکوک شدم. نسخه ای که در ابتدا با اون کار میکردم WinAVR-20100110 بود که آخرین ورژن این برنامه است. برای همین نسخه های قبلی رو هم تست کردم که نتیجه بدتر شد.

      بعد از این ضربه روحی که از WinAVR خوردم تصمیم گرفتم برم سراغ کامپایلر های شرکت Mikroelektronika که در ابتدا فقط کارش PIC بود. نسخه اولی که تست کردم MikroC Pro for AVR 1.25 بود. این کامپایلر فقط شیک بود و با اینکه توابع زیادی رو مثل تومار لیست کرده بود ولی اکثر اونها کمبود ها و اشکالاتی دارند. نمونه اش رو در اولین تابع یعنی ADC میشد دید که در اون شما نمیتوانید مرجع ولتاژ داخلی 2.56v داخلی رو انتخاب کنید.
      این اشکالات هنوز هم سر جای خود باقی ان و الان که ورژن MikroC Pro for AVR 4.60 رو تست میکنم هنوز رفع نشده.

      به طور کلی شما در این کامپایلر آزادی عمل بسیار کمی دارید مخصوصاً که سورس این کامپایلر باز نیست. به علاوه با اینکه کدهای خروجی این کامپایلر کار میکردند ولی کدهای تولیدشده نسبت به برنامه مشابه در Codevision حجم بیشتر و نسبت به WinAVR حجم کمتری داشتند. بنابراین این کامپایلر هم منو راضی نکرد.

      ادامه دارد...

      با سلام
      من در حدود 2 سال است که AVR-GCC یا همون WinAVR کار می کنم و چندین پروژه مهم شرکت رو با این کامپایلر انجام دادم که کدهای تولیدی هم خیلی قوی هستند و هم استاندارد .ضمنا هم در میکرو خوب کار می کنند هم در Proteus.
      من فکر میکنم مشکل در عدم آشنایی شما با این کامپایلر قوی باشه. مثلا در Optimization شما باید متغیر های کلیدی و مهم تون را با عبارت Volatile معرفی کنید تا به کامپایلر بگید در حین اجرای برنامه این متغییر ممکن است تغییر کنه و توی Optimization اون رو در نظر بگیره.
      یا مثلا برای ارسال اعداد اعشاری به توابع باید option مربوط به آن را در لینکر فعال کنید :
      -WL,-lm
      در ضمن من می تونم مشکلات تون رو در این زمینه حل کنم.
      در آخر به شما توصیه می کنم از AVR Studio5 که محصول شرکت Atmel هستش رو استفاده کنید که خودش بصورت پیش فرض کامپایلر AVR-GCC رو داره و از اون استفاده می کنه و محیطش هم بسیار شیک و حرفهای هستش
      جواد سعدی

      دیدگاه


        #48
        پاسخ : معرفی بهترین کامپایلر برای c

        نوشته اصلی توسط j_sadi

        با سلام
        من در حدود 2 سال است که AVR-GCC یا همون WinAVR کار می کنم و چندین پروژه مهم شرکت رو با این کامپایلر انجام دادم که کدهای تولیدی هم خیلی قوی هستند و هم استاندارد .ضمنا هم در میکرو خوب کار می کنند هم در Proteus.
        من فکر میکنم مشکل در عدم آشنایی شما با این کامپایلر قوی باشه. مثلا در Optimization شما باید متغیر های کلیدی و مهم تون را با عبارت Volatile معرفی کنید تا به کامپایلر بگید در حین اجرای برنامه این متغییر ممکن است تغییر کنه و توی Optimization اون رو در نظر بگیره.
        یا مثلا برای ارسال اعداد اعشاری به توابع باید option مربوط به آن را در لینکر فعال کنید :
        -WL,-lm
        در ضمن من می تونم مشکلات تون رو در این زمینه حل کنم.
        در آخر به شما توصیه می کنم از AVR Studio5 که محصول شرکت Atmel هستش رو استفاده کنید که خودش بصورت پیش فرض کامپایلر AVR-GCC رو داره و از اون استفاده می کنه و محیطش هم بسیار شیک و حرفهای هستش
        جواد سعدی
        با سلام.
        بله حق با شماست. بنده اعتراف میکنم عدم اخذ نتیجه مورد انتظار از WinAVR به صورتی که در پست های قبل خودم نوشته بودم ناشی از عدم گاهی کامل از جوانب اون بوده. البته این پست ، که شما اکنون به مطالب اون اشاره کردید مربوط به خیلی وقت پیش میشه و الآن به نکاتی که اشاره کردید واقفم.
        میتونم بگم در حال حاضر در برنامه نویسی با WinAVR دچار اشکال نیستم .
        ولی با این حال باز هم بر اختلاف حجم کد تولیدی WinAVR با Codevision و خصوصاً IAR تاکید میکنم. البته بنده دیگه با کدویژن کارنمبکنم. با توجه به کارایی فوق العاده کامپایلر IAR پروژه های خود را تماماً با این کامپایلر انجام میدهم. و تمام توابع مربوط به تجهیزات جانبی از قبیل Delay ، ADC ، I2C، SPI ، LCD، GLCD ، DS1307 و ... رو شخصاً و بدون الهام از توابع کامپایلر های دیگه نوشتم و از این توابع در پروژه ها استفاده میکنم.
        البته هنوز گاهی برخی از پروژه ها رو با WinAVR انجام میدم. میشه گفت به طور کلی در 95 در صد موارد با IAR و بقیه موارد با WinAVR کار میکنم. نظر شخصی بنده در حال حاضر اینه که چنانچه کامپایلر IAR در دسترس نباشه
        WinAVR جایگزین مناسبی برای اوست.
        علت کار نکردن با Codevision توهماتی مثل باگ ذاتی و عدم مطابقت با استاندارد زبان C و اضافه شدن برخی دستورات کار با پورت و بیت و... که برخی از دوستان از روی تعصب به آن میتازند نیست بلکه اولاً وجود کامپایلر قدرتمند IAR و ثانیاً عدم وجود سریال و کرک مناسب در نسخه های جدید است که در تولید کد نهایی اشکال ایجاد کرده و شبهه باگ را برای برخی دوستان بوجود آورده.

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

        دیدگاه


          #49
          پاسخ : معرفی بهترین کامپایلر برای c

          بله کاملا حق با این دوستمونه من تقریبا با تمام کامپایلرهای avr کار کردم و معتقدم که حتی از iar هم قویتره جالبه که در یک برنامه سنگین اینتراپتی کدویژن و .. که اصلا جواب ندادن iar تا حدودی ولی winavr بخوبی. رقیب نداره خیلی دوست داشتم معادلش رو برا arm ها هم پیدا کنم البته arm gcc داریم ولی هنوز امتحانش نکردم بالاترین توصیه atmel هم همینه

          دیدگاه


            #50
            پاسخ : معرفی بهترین کامپایلر برای c

            بچه ها بدون اینکه فکر کنید بهش-یک توصیه برادرانه و حرفه ایی میکنم بی هیچ درنگی برید سراغ WINAVR
            اگه فقط حتی یک نفر از برنامه و عملکرد برنامه ایی که نوشته در عمل نا راضی بود بیاد پیش من.اصلا فکر به compiler دیگه نکنید-همه بخاطر کرک شدن بگ دارن و در کل برای کار حرفه ایی ساخته نشدن-winavr در سیستم عامل هایی مثل linux هم قدرت خودش رو نشون داده
            خدا گفت : به جهنم ببریدش، او برگشت و با تعجب به خدا نگاه کرد. خدا گفت : به بهشت ببریدش. فرشتگان پرسیدند: چرا؟! خدا گفت : او هنوز به من امیدوار است...

            دیدگاه


              #51
              پاسخ : معرفی بهترین کامپایلر برای c

              می تونید این ادعا رو اثبات کنید؟
              با عرض پوزش خدمت دایی های عزیزم تا اطلاع ثانوی به اینترنت دسترسی ندارم.

              دیدگاه


                #52
                پاسخ : معرفی بهترین کامپایلر برای c

                منم با حمید عزیز موافقم . شما احمد عزیز یه بار با AVR STUDIO 5 کار کن خودت متوجه میشی . من خودم با بیسکام کار می کردم . اما از وقتی یه بار با AVR STUDIO 5 کار می کنم با این که خیلی بلد نیستم عاشقش شدم .
                [glow=blue,2,300]آنقدر به تاریکی لعنت نفرستید ، یک شمع روشن کنید. [/glow]

                دیدگاه


                  #53
                  پاسخ : معرفی بهترین کامپایلر برای c

                  نوشته اصلی توسط ahmadmn
                  می تونید این ادعا رو اثبات کنید؟
                  ادعا !
                  جبهه گیری و تعصب کار اشتباهیه ! شما وقتی کارت با بیسکام راه میفته، با همون هم ادامه بده
                  شما تا برنامه سنگین ننویسی نمی تونی به امکانات و قدرت یک کامپایلر پی ببری.
                  معمولاً تو برنامه های چند هزار خطی که چند صد تا تابع دارند باید عملکرد کامپایلر رو سنجید.
                  البته الان موضوع avrstudio5 کلاً فرق کرده.
                  یکی از بهترین محیط های برنامه نویسی ویژوال استودیو و اکلیپس هستند.
                  حالا شما فکر کن تو محیط ویژوال استودیو ، با امکانات اون داری برای avr برنامه مینویسی !
                  در ضمن، تمام دوستانی که تا الان با winavr کار کردن ( مثل حمید عزیز) از بچه های قدیمی سایت هستند و در سطح حرفه ای برنامه می نویسند. من در حد بسیار مبتدی برنامه نویسی می کنم ، ولی تنها چیزی که می دونم اینه که کدویژن و بیسکام جلوی پیشرفت آدم رو میگیرند ! وابستگی که بوجود میارند خیلی زیاده و جلوی پیشرفت برنامه نویس رو میگیرند .
                  و فقط موقعی به این موضوع پی می برید که بیاید سمت winavr یا iar

                  دیدگاه


                    #54
                    پاسخ : معرفی بهترین کامپایلر برای c

                    نوشته اصلی توسط mohammad sadeq
                    بله کاملا حق با این دوستمونه من تقریبا با تمام کامپایلرهای avr کار کردم و معتقدم که حتی از iar هم قویتره جالبه که در یک برنامه سنگین اینتراپتی کدویژن و .. که اصلا جواب ندادن iar تا حدودی ولی winavr بخوبی. رقیب نداره خیلی دوست داشتم معادلش رو برا arm ها هم پیدا کنم البته arm gcc داریم ولی هنوز امتحانش نکردم بالاترین توصیه atmel هم همینه
                    آقا شما مگه سواد نداری؟ در کجای مطلبی که نوشتم گفته شده WinAVR از IAR بهتره؟
                    شما اصلاً ریخت IAR رو دیدی که در موردش اظهار نظر میکنی؟
                    بهتره از طرف خودتون مطلبی رو بگید نه با معکوس کردن صحبت های دیگران به خواسته خود برسید.

                    دیدگاه


                      #55
                      پاسخ : معرفی بهترین کامپایلر برای c

                      ببینید مشکل کسانی که جلوی پیشرفت خودشون رو میگیرن اینه که به چیزی که دارن بسنده میکنن غافل از اینکه در چند قدم جلوتر هم راهی دیگه وجود داره مه موفقیتت رو چند برابر میکنه

                      مشکل اصلی ما ها و حتی یک تیم سر یک موضوع اینه که هدف رو فراموش میکنیم و به خودمون فکر میکنیم.

                      ما باید به این توجه کنیم که رقابت سر کوبیدن کامپایلر ها نیست یا اینکه بگیم من اینو بلدم و اونی که تو بلدی بده یا بلعکسش و ...
                      این نکته خیلی مهمه که بدونیم هدف ما اینه که برنامه ایی رو بنویسیم که از خیلی لحاظ ها قابلیت این رو داشته باشه که حد اقل آبروی خودمون رو حفظ کنه و کار حرفه ایی باشه.برای زسیدن به این اصل نیاز داریم چند قدم فراتر از داشته هامون بریم
                      اینکه من تاکید میکنم به winavr دلیل بر این نیست که بقیه کامپایلر ها دور انداختنی هستند-اما شما وقتی بچه هستی یک دوچرخه معمولی سوار میشی و چند سال بعد کمی حرفه ایی تر میکنی و در نهایت دنبال دوچرخه برای مسابقه با رقیب های قدر میگردی-داستان کامپایلر ها هم نقل همین موضوع

                      شما هیچ برنامه حرفه ایی که برای یک کار تجاری طراحی شده رو پیدا نمی کنید که با بسکام یا کدویژن باشه-همه و همه با نرم افزار هایی نظیر winavr و iar هستند.
                      بسکام و کدویژن فقط برای شروع کار در سطح مبتدی هستند.شما اگر یک برنامه که با کدویژن یا بسکام نوشتید رو روی میکروتون بریزید و تست کنید و نمونه winavr همون برنامه رو هم روی میکروتون بریزید و تست کنید -خودتون به نتیجه ایی میرسید که بلافاصله کامپایلر رو تغییر میدید

                      این توصیه من رو که از تجربه بلند میشه بخاطر داشته باشید : لازم نیست هر جور که هست نظر دیگری رو اجرا کنید اما میشه کمی رو حرف دیگری فکر کرد که شاید راه های جدیدی رو باز کنه

                      موفق باشید دوستان
                      خدا گفت : به جهنم ببریدش، او برگشت و با تعجب به خدا نگاه کرد. خدا گفت : به بهشت ببریدش. فرشتگان پرسیدند: چرا؟! خدا گفت : او هنوز به من امیدوار است...

                      دیدگاه


                        #56
                        پاسخ : معرفی بهترین کامپایلر برای c

                        با سلام خدمت تمام اساتید
                        من هم تا حالا به غیر از بسکام و کدویژن با کامپایلر دیگه ای کار نکردم البته نه از روی تعصب یا چیزه دیگه ای چرا که برنامه هایی که مینوشتم بعد از کامپایل مشکلی توی عمل با میکرو نداشتن البته شاید برنامه هام خیلی مبتدی بوده به هرحال بعد از خوندن مطالب ابن تایپیک که واقعا آدم رو به وجد میاره تا برای فضولی هم که شده البته در کنارش یادگرفتن یک چیز جدید البته این موضوع میتونه مختص به خودم باشه چرا که اصلا کار تخصصی من یکی اصلا برنامه نویسی میکرو نیست! چون گرایشم چیز دیگه ای؛ دوست دارم با بقیه کامپایلر ها هم به قول خودمون یه وری برم خدا می دونه شاید اصلا اون دو تا رو کلا بوسیدم گزاشتم کنار که البته با توجه به وابستگی شدید به کدویزارد و سادگی برنامه نویسی بسکام بعید میدونم ، به خاطر همین گفتم به عنوان یک پیشنهاد هم که شده لینک winavr , IAR رو اینجا بزارم تا اونایی هم که مثل من هستند بتونند این دو تا نرم افزار رو دانلود کنند و ببیند اصلا چی هست ، در آخر این رو هم بگم که واقعا از بحث های این تایپیک من که خیلی استفاده کردم!

                        WinAVR-20100110

                        IAR Embedded Workbench For AVR v5.50

                        اون جوری هم که تو وبسایت مرجع نوشته شده آخرین ورژن هاشون هستند.
                        حجمشون هم زیاد نیست !

                        دیدگاه


                          #57
                          پاسخ : معرفی بهترین کامپایلر برای c

                          نوشته اصلی توسط ایمان داودی
                          منم با حمید عزیز موافقم . شما احمد عزیز یه بار با AVR STUDIO 5 کار کن خودت متوجه میشی . من خودم با بیسکام کار می کردم . اما از وقتی یه بار با AVR STUDIO 5 کار می کنم با این که خیلی بلد نیستم عاشقش شدم .
                          سلام دایی
                          با AVR STUDIO کار می کنم اما متوجه چه چیزی باید بشم؟!
                          با عرض پوزش خدمت دایی های عزیزم تا اطلاع ثانوی به اینترنت دسترسی ندارم.

                          دیدگاه


                            #58
                            پاسخ : معرفی بهترین کامپایلر برای c

                            نوشته اصلی توسط فرشاد اکرمی
                            ادعا !
                            جبهه گیری و تعصب کار اشتباهیه ! شما وقتی کارت با بیسکام راه میفته، با همون هم ادامه بده
                            شما تا برنامه سنگین ننویسی نمی تونی به امکانات و قدرت یک کامپایلر پی ببری.
                            معمولاً تو برنامه های چند هزار خطی که چند صد تا تابع دارند باید عملکرد کامپایلر رو سنجید.
                            البته الان موضوع avrstudio5 کلاً فرق کرده.
                            یکی از بهترین محیط های برنامه نویسی ویژوال استودیو و اکلیپس هستند.
                            حالا شما فکر کن تو محیط ویژوال استودیو ، با امکانات اون داری برای avr برنامه مینویسی !
                            در ضمن، تمام دوستانی که تا الان با winavr کار کردن ( مثل حمید عزیز) از بچه های قدیمی سایت هستند و در سطح حرفه ای برنامه می نویسند. من در حد بسیار مبتدی برنامه نویسی می کنم ، ولی تنها چیزی که می دونم اینه که کدویژن و بیسکام جلوی پیشرفت آدم رو میگیرند ! وابستگی که بوجود میارند خیلی زیاده و جلوی پیشرفت برنامه نویس رو میگیرند .
                            و فقط موقعی به این موضوع پی می برید که بیاید سمت winavr یا iar
                            سلام دایی فرشاد گلم
                            منظورت از جبهه گیری و تعصب رو متوجه نشدم. در تمامی مباحث علمی مناقشه پیش میاد و از لابلای این مباحثه که بهترین چیزها یادگرفته میشه. من با همه اینها کار کردم و ارجهیتی ندیدم.
                            برنامه سنگین هم بی معنیه چون اکثر بچه های سایت الکترونیک کار هستند و برنامه نویسی حرفه ی ثانویه اونهاست. به نظر من یه الکترونیک باز خوب می تونه برنامه های سنگین رو هم به سبک تبدیل کنه. برای من مهم اینه که یه برنامه سریع و مطمئن نوشته بشه و دوست دارم بیشتر وقتمو صرف بهینه سازی مدار کنم.
                            پس می خوام مثل باقی دوستان از تجربیات دوستان استفاده کنم و بهترین کمپایلر رو انتخاب کنم. کمپایلری که منو جولوی مشتری شرمنده نکنه.
                            با عرض پوزش خدمت دایی های عزیزم تا اطلاع ثانوی به اینترنت دسترسی ندارم.

                            دیدگاه


                              #59
                              پاسخ : معرفی بهترین کامپایلر برای c

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

                              مشکل اصلی ما ها و حتی یک تیم سر یک موضوع اینه که هدف رو فراموش میکنیم و به خودمون فکر میکنیم.

                              ما باید به این توجه کنیم که رقابت سر کوبیدن کامپایلر ها نیست یا اینکه بگیم من اینو بلدم و اونی که تو بلدی بده یا بلعکسش و ...
                              این نکته خیلی مهمه که بدونیم هدف ما اینه که برنامه ایی رو بنویسیم که از خیلی لحاظ ها قابلیت این رو داشته باشه که حد اقل آبروی خودمون رو حفظ کنه و کار حرفه ایی باشه.برای زسیدن به این اصل نیاز داریم چند قدم فراتر از داشته هامون بریم
                              اینکه من تاکید میکنم به winavr دلیل بر این نیست که بقیه کامپایلر ها دور انداختنی هستند-اما شما وقتی بچه هستی یک دوچرخه معمولی سوار میشی و چند سال بعد کمی حرفه ایی تر میکنی و در نهایت دنبال دوچرخه برای مسابقه با رقیب های قدر میگردی-داستان کامپایلر ها هم نقل همین موضوع

                              شما هیچ برنامه حرفه ایی که برای یک کار تجاری طراحی شده رو پیدا نمی کنید که با بسکام یا کدویژن باشه-همه و همه با نرم افزار هایی نظیر winavr و iar هستند.
                              بسکام و کدویژن فقط برای شروع کار در سطح مبتدی هستند.شما اگر یک برنامه که با کدویژن یا بسکام نوشتید رو روی میکروتون بریزید و تست کنید و نمونه winavr همون برنامه رو هم روی میکروتون بریزید و تست کنید -خودتون به نتیجه ایی میرسید که بلافاصله کامپایلر رو تغییر میدید

                              این توصیه من رو که از تجربه بلند میشه بخاطر داشته باشید : لازم نیست هر جور که هست نظر دیگری رو اجرا کنید اما میشه کمی رو حرف دیگری فکر کرد که شاید راه های جدیدی رو باز کنه

                              موفق باشید دوستان
                              سلام دایی حمید
                              من پارسال همین کارو کردم. یه برنامه رو با کدویژن 2.4.4 و WINAVR2010 کمپایل کردم. مال WINAVR کار نکرد که هیچ، هربار هم که کمپایل می کردم نتیجه دیگری میداد!!!
                              چون با یه تست نمیشه نتیجه گرفت خواستم شما هم مثالها و نمونه برنامه هایی رو بگید تا تفاوت ایندو مشخص بشه و دوستان بتونن با قطعیت کمپایلر بهتر رو انتخاب کنند.
                              در مورد حرفه ای بودن من با شما موافق نیستم.
                              بعضی از دوستان انجمن، حرفه اصلیشون برنامه نویسیه و باید پیشرفته ترین نرم افزارهای روز رو بکار ببرن. برنامشون هم طبق فرمایش شما باید آبرودار و درخور یه برنامه نویس باشه.
                              اما بسیاری دیگه مثل من، اصلا حرفشون برنامه نویسی نیست و کار اصلیشون چیز دیگست. مثلا باید یه دستگاه بسازن و مکانیک و الکترونیک و ابزار دقیق و ... رو باید طراحی کنند.
                              میکرو تنها یکی از عناصر این دستگاهه و برنامه ای که باید بنویسیم تنها قسمتی از زمان ما رو اشغال می کنه.
                              بنابراین باید زبان و کمپایلری رو انتخاب کنیم که زمان کمتری از ما ببره و سریعتر مارو به مقصود برسونه. در عین حال باید مطمئن باشه.
                              من چند سال پیش بخاطر باگهای کدویژن چند میلیون ضرر کردم اما بازم الان دارم از نسخه 2.05 اون استفاده می کنم.
                              نتیجه اینکه من برنامه نویس حرفه ای نیستم و نمی تونم باشم. با اینکه سالها به زبانهای اسمبلی، پاسکال، دلفی، C و... برنامه نوشتم و حتی درس دادم، باز هم حرفه اصلی من این نیست و اگه کسی ازم بپرسه شغلت چیه نمی گم "برنامه نویس".
                              جالبه که تابحال برنامه ای برای تفنن ننوشتم و همیشه پروژه ای بود که مشتری منتظرش بود و اگه تحویل نمی دادم باید گوشه خیابون می خوابیدم.
                              جالبتر اینه که من مجبورم از زبان C استفاده کنم چون کمپایلرهای خوب فقط برای این زبان موجوده. اگه کسی از من بپرسه برای یه الکترونیک کار (نه برنامه نویس) بهترین زبان چیه؟ ترتیب زیر رو انتخاب می کنم:
                              1-فلوکد یا زبان فلوچارت که اصل و اساس یک برنامه است. در واقع یه آدم فنی باید فلوچارت یک دستگاه یا ماشین رو بتونه بکشه و نوشتن برنامه اون باید توسط کامپیوتر یا برنامه نویس صورت بگیره.
                              2- زبان های سطح بالا و ساختاریافته مثل پاسکال. این زبان در تجربه من بهترین زبان سطح بالاست.
                              3- زبانهای سطح پایین مثل اسمبلی و C

                              یه دوست ارمنی دارم که راننده ی حرفه ایه و تو جاده های بین المللی میرونه . هرکی ازش می پرسه چه ماشینی خوبه میگه ماک 18 چرخ! فرقی هم نداره طرف خانم دکتر باشه یا راننده جاده. :biggrin:

                              در نهایت اگه شما تجربه ای دارید خواهش می کنم برای هردو گروه ارائه کنید. هم برای برنامه نویسان حرفه ای، هم برای کسانی که مجبورند برنامه بنویسند. یه چیزی در حد پژو 206 نه ماک 18 چرخ!
                              با عرض پوزش خدمت دایی های عزیزم تا اطلاع ثانوی به اینترنت دسترسی ندارم.

                              دیدگاه


                                #60
                                پاسخ : معرفی بهترین کامپایلر برای c

                                با سلام خدمت استاتید عزیز . من تازه زبان cرو شروع کردم و راستش این کدویژن اصلاً بهم نچسبید و رفتم سراغ میکرو سی و چون از پایه اونو شروع کردم خیلی باهاش راحت بودم و ضمن اینکه اصلاً محیط کسل کننده نداره و کتابخونه هاشم زیاده فقط ایرادی که داره اینه که امکان دستکاری کتابخونه هاش وجود نداره و مزیتش هم اینه که اگه مثلاً نسخه avr اونو یاد بگیری واسه یاد گیری pic یا dspic اون نیاز نداری همه چیزه از پایه شروع کنی . :biggrin:

                                دیدگاه

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