مقایسه حجم کُد زبان C و ++C

مقایسه حجم کُد زبان C و ++C
4 (80%) 4 votes

مقایسه حجم کُد زبان C و ++C

آیا تا به حال شده که بخواهید از زبان ++C برای نوشتن برنامه‌های میکروکنترلرها استفاده کنید؟

ممکن است فکر کنید که زبان ++C برای کار با میکروکنترلرها بهینه‌تر است، اما حقیقت ماجرا چیز دیگریست!  در این آموزش به صورت عملی یک برنامه ساده برای میکروکنترلرهای Cortex-M  با زبان C و زبان ++C می‌نویسیم و در انتها آنها را با هم مقایسه می‌کنیم، مطمئن باشید از نتیجه این مقایسه، می‌توانید در کارهای عملی هم بهره ببرید!

خواهید دید در یک دستگاه یکسان، اگر برنامه نویسی با زبان ….. (جای خالی در ویدئو پاسخ داده می‌شود) انجام شود، مصرف انرژی دستگاه افزایش می‌یابد!

 

این آموزش فوق العاده از سایت TeachTechs.ir (تیچ تکس) را به هیچ عنوان از دست ندهید!

با اشتراک این آموزش در شبکه‌های اجتماعی خود، به ما در ادامه تولید این آموزش‌ها کمک کنید.

منتظر نظرات شما هستم

درباره‌ی سید پیمان ذوالنوری

پس از بازدید از نمایشگاه تولیدات داخلی و دیدن نقطه ضعف‌ها تصمیم گرفتم پایگاهی آموزشی بسازم تا با هم خلا استفاده از تکنولوژی‌های پیشرفته را در تولیدات داخلی از بین ببریم

۸ نظر

  1. با سلام
    من یک برنامه کامل رو برای avr و در اتمل استودیو با هر دو زبان نوشتم و کوچکترین تفاوتی در حجم فایل hex خروجی وجود نداشت
    لطفا توضیح بفرمایید که این به دلیل پیشرفته بودن ide هست و یا دلیل دیگری دارد

    • سید پیمان ذوالنوری

      سلام دوست عزیز

      بستگی به تنظیمات IDE داره، با توجه به اینکه از چه امکاناتی در ++C استفاده می‌کنید حجم کُد متفاوت خواهد بود.

      موفق باشید

      • با سلام مجدد
        در این مثالی که شما تهیه کردید از هیچ امکانات خاصی در c++ استفاده نشده و فقط hello world چاپ شد! به عبارتی برای بیننده اینطور القا میشه که کامپایلر در تفسیر c++ بدون توجه به اینکه از چه قابلیتهایی اضافه شده حجم بیشتری از حافظه رو برای فایل خروجی اختصاص میده
        ضمنا من تازه با سایت شما آشنا شدم بسیار سایت خوبی دارید و از نمونه ویدئوهایی که گذاشتید مشخصه تبحر و تجربه کافی در این زمینه رو دارا هستید، متاسفانه ظاهرا دیر رسیدم و جشنواره تموم شده، در صورتیکه بخوام دوره کامل برنامه نویسی رو خریداری کنم آیا میشه از تخفیف استفاده کرد؟
        و اینکه این دوره برنامه نویسی به در منی که بیشر با avr ها و Atmel Studio سرو کار دارم میتونه مفید باشه؟
        با تشکر
        موفق باشید

        • سید پیمان ذوالنوری

          سلام مجدد

          اگر شما از زبان ++C استفاده کنید این توانایی رو دارید که از Exceptionها و RTTIها در در برنامه‌نویسی استفاده کنید البته در خیلی از موارد در دنیای Embedded ممکنه که این قابلیت‌ها مورد استفاده قرار نگیرن و صد البته بستگی به نوع پروژه و همچنین استانداردهای استفاده شده در برنامه‌نویسی و مهارت برنامه نویس داره، به همین خاطر بعضی از قابلیت‌ها به صورت پیش فرض فعال هستند مگر اینکه شما اونا رو غیر فعال کنید، تا حجم کُد کاهش پیدا کنه. در این آموزش خاص تمامی قابلیت‌های ++C فعال شده! اگرچه تمامی اونا در برنامه استفاده نشدن!

          در ادامه با تشکر از نظرتون راجب سایت و مطالب، برای درخواست تخفیف لطفا از طریق تلگرام پیام بدید که پیگیری بشه. ( آیدی در صفحه تماس با ما وجود داره)

          موفق باشید

  2. محسن پیرهادی

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

    • سید پیمان ذوالنوری

      سلام دوست عزیز

      از لطف شما تشکر می‌کنم و از خدا می‌خوام که در این مسیر سخت کمکم کنه که بتونم اندک دانشی که بدست آوردم رو با بقیه دوستان مثل شما به اشتراک بذارم

      بازم ممنون از پیام شما کلی انرژی مثبت گرفتم

      موفق باشید

  3. با سلام و تشکر
    یک انتقادی به این مقایسه میشه کرد و این هست که این مقایسه باید در ابعاد بزرگ تر هم انجام بشه.
    برای مثال در برخی پروژه ها استفاده از قابلیت کلاس زبان c++ میتونه استراتژی پیاده سازی حل یک مساله رو کاملا تغییر بده و با کد نویسی کمتر همون کارایی رو بدست آورد که با حجم کد بیشتری از زبان c بدست میاد.
    البته اینم بگم که من خودم چنین مقایسه ای تا بحال ندیدم و مطمئن هم نیستم حتما چنین حالتی بوجود میاد ولی در همین پروژه ای که در حال اتمامش هستم احساس میکنم اگر قسمت کتابخونه gsm رو با استفاده از متد هایی که تو زبان های OOP یاد گرفتم میزدم خیلی حجم کد کمتر می شد.

    • سید پیمان ذوالنوری

      سلام مهندس

      شما که در دوره MISRA-C ثبت نام کردید، حتما میدونید که یکی از معیارهای مقایسه زبان‌های برنامه نویسی Efficiency هستش که از دو نظر مورد بررسی قرار میگیره، اولی از نظر سرعت و دومی از نظر حجم کُد!

      مطمعنا اگه زبان ++C از این دو نظر از زبان C بهتر بود که الان همه از ++C برای نوشتن کُدها استفاده می‌کردند! و البته صحبت شما هم از یک نظر درسته! اگه ما از قابلیت شئی گرایی در ++C استفاده کنیم میتونیم کُدهامون رو در زمان کمتری توسعه بدیم و دستگاه‌همون رو زودتر روانه بازار کنیم و این قضیه یعنی Time To Market ربطی به Efficiency نداره.

      همچنین در زبان ++C اگه از تمامی امکانات اون استفاده نکنیم میتونیم حجم کُد رو پایین‌تر از این بیاریم!

      برای فهم بیشتر ماجرا، خودتون میتونید نکاتی که گفته شد رو تست کنید.

      موفق باشد

پاسخ دادن به سید پیمان ذوالنوری لغو پاسخ

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

طراحی سایت
با سلام لطفا تا اطلاع ثانویه فقط و فقط از طریق تلگرام با مجموعه در تماس باشید