সি ++ হ'ল এক প্রোগ্রামিং ভাষা:
ক) এটি একটি "আরও ভাল" সি) এটি একটি অবজেক্ট ভিত্তিক ভাষা গ) এটি এমন একটি ভাষা যা আমাদের জেনেরিক প্রোগ্রামগুলি লেখার অনুমতি দেয়
যদিও এই সমস্ত বৈশিষ্ট্য পৃথকভাবে ব্যবহার করা যেতে পারে যখন একই সাথে তিনটি ব্যবহার করা হয় তখন সেরা ফলাফলগুলি পাওয়া যায়। তবুও, আপনি যদি তাদের মধ্যে একটি চয়ন করতে চান তবে এম্বেডড সফ্টওয়্যারটির গুণমান বাড়বে।
ক) এটি একটি "আরও ভাল" সি
সি ++ একটি শক্তিশালী টাইপ করা ভাষা; সি এর চেয়ে শক্তিশালী আপনার প্রোগ্রামগুলি এই বৈশিষ্ট্যটি থেকে উপকৃত হবে।
কিছু লোক পয়েন্টারগুলিকে ভয় পায়। সি ++ এর মধ্যে উল্লেখগুলি অন্তর্ভুক্ত রয়েছে। অতিরিক্ত লোড ফাংশন।
এবং বলা বাহুল্য: বড় বা ধীর প্রোগ্রামগুলিতে এই বৈশিষ্ট্যগুলির কোনওটিই ব্যয় করে না।
খ) এটি একটি অবজেক্ট ওরিয়েন্টেড ভাষা
কেউ এই পোস্টে বলেছিলেন যে মাইক্রোকন্ট্রোলারগুলিতে মেশিন বিমূর্ত করা ভাল ধারণা নয়। ভুল! আমরা সবাই এম্বেডড ইঞ্জিনিয়াররা সি সি ++ এর মতো অন্যান্য সিনট্যাক্সের সাথে সর্বদা মেশিনটিকে বিমূর্ত করে দিয়েছি। এই তর্কটি দিয়ে আমি যে সমস্যাটি দেখছি তা হ'ল কিছু প্রোগ্রামার অবজেক্টগুলিতে চিন্তা করতে ব্যবহৃত হয় না, এইভাবে তারা ওওপির সুবিধা দেখতে পায় না see
আপনি যখনই কোনও মাইক্রোকন্ট্রোলারের পেরিফেরিয়াল ব্যবহার করতে প্রস্তুত হন তখন সম্ভবত এটি সম্ভবত পেরিফেরালটি ডিভাইস ড্রাইভারের আকারে (নিজের বা তৃতীয় পক্ষের কাছ থেকে) বিমূর্ত করা হয়েছে। যেমনটি আমি আগেই বলেছি, ড্রাইভারটি সি সিনট্যাক্স ব্যবহার করে, যেমন পরবর্তী উদাহরণগুলি দেখায় (সরাসরি কোনও এনএক্সপি এলপিসি 1114 উদাহরণ থেকে নেওয়া):
/ * ম্যাচের জন্য টাইমার সেটআপ এবং TICKRATE_HZ এ ব্যাঘাত ঘটায় * /
Chip_TIMER_Reset (LPC_TIMER32_0);
চিপ_আইপিআইএমআইচিএল ম্যাচএনেবল ইন্ট (এলপিসি_আরআইপিএমআইআরইসি 3232, 1);
চিপ_আমিআইআর_সেট ম্যাচ (এলপিসি_আমপিআরআইএমসিআইপিআইআরআইএমসিআইপিআইআরসিআইআরসিএইচজেড 2));
চিপ_আইটিএমআইসেটস রিসেটআনম্যাচএইনবল (এলপিসি_আম_আর।
Chip_TIMER_Enable (LPC_TIMER32_0);
আপনি কি বিমূর্ততা দেখতে পাচ্ছেন? সুতরাং, একই উদ্দেশ্যে সি ++ ব্যবহার করার সময় শূন্য ব্যয়ে সি ++ এর বিমূর্ততা এবং এনক্যাপসুলেশন ব্যবস্থার মাধ্যমে বিমূর্তিটি পরবর্তী স্তরে আনা হয়!
গ) এটি এমন একটি ভাষা যা আমাদের জেনেরিক প্রোগ্রামগুলি লেখার অনুমতি দেয়
জেনেরিক প্রোগ্রামগুলি টেমপ্লেটগুলির মাধ্যমে অর্জন করা হয় এবং টেমপ্লেটগুলিরও আমাদের প্রোগ্রামগুলির জন্য কোনও ব্যয় থাকে না।
এছাড়াও, টেমপ্লেটগুলি দিয়ে স্থির পলিমারফিজম অর্জন করা হয়।
ভার্চুয়াল পদ্ধতি, আরটিটিআই এবং ব্যতিক্রম।
ভার্চুয়াল পদ্ধতি ব্যবহার করার সময় একটি সমঝোতা হয়: আরও ভাল সফ্টওয়্যার কার্যক্ষমতায় কিছু পেনাল্টি বনাম। তবে মনে রাখবেন যে ভার্চুয়াল টেবিল (ফাংশন পয়েন্টারগুলির একটি অ্যারে) ব্যবহার করে গতিশীল বাঁধাই কার্যকর করা হতে পারে। আমি অনেক সময় সিতে একই কাজ করেছি (এমনকি নিয়মিতভাবেও), তাই ভার্চুয়াল পদ্ধতি ব্যবহারে আমি কোনও ত্রুটি দেখতে পাচ্ছি না। তদুপরি, সি ++ এ ভার্চুয়াল পদ্ধতিগুলি আরও মার্জিত।
অবশেষে, আরটিটিআই এবং ব্যতিক্রম সম্পর্কে একটি পরামর্শ: এম্বেড থাকা সিস্টেমে তাদের ব্যবহার করবেন না। এগুলি এলোমেলো করুন !!