PDA

View Full Version : سوال: کاربردهای C و C++‎



shahab_ss
چهارشنبه 28 تیر 1391, 21:26 عصر
سلام،

من میخواستم بدونم سی و سی پلا پلاس کجا ها کاربرد داره

مثلا DSL , image processing , embded system از جمله مواردیه که سی در اونها کاربرد داره

اضافه بر اینها اگر کسی اطلاعاتی داره لطفا بگه

متشکرم

بهروز عباسی
چهارشنبه 28 تیر 1391, 21:39 عصر
درود دوست عزیز
در یک کلام از شیر مرغ تا جون آدمیزاد کاربرد داره

اما در بعضی مواقع زبان های کارو ساده تر می کنن و از این زبان استفاده نمیشه مثلاً میشه برای طراحی وب به جای PHP از C استفاده کرد اما هزینه بره.

موفق باشید

shahab_ss
چهارشنبه 28 تیر 1391, 21:42 عصر
ممنون از پاسختون اما منظور من مواردیه که در اونها سی بصورت تخصصی استفاده میشه.
لطفاً به مثال هایی که زدم توجه کنید.

متشکرم

مسعود اقدسی فام
چهارشنبه 28 تیر 1391, 22:05 عصر
ممنون از پاسختون اما منظور من مواردیه که در اونها سی بصورت تخصصی استفاده میشه.
لطفاً به مثال هایی که زدم توجه کنید.

متشکرم

پیاده‌سازی سیستم عامل تخصصی حساب می‌شه؟

مسعود اقدسی فام
چهارشنبه 28 تیر 1391, 22:13 عصر
برای پردازش تصویر از ابزاری مثل MATLAB زیاد استفاده می‌شه که خود اونم تا جایی که من می‌دونم با ++C نوشته شده.

مصطفی ساتکی
چهارشنبه 28 تیر 1391, 22:56 عصر
از جمله کاربردهایی که دوستان فرمودند سیستم عامل ، گیم انجین ، پردازش صوت و تصویر و ویدیو ، GPU programming ، سیستم های شبیه سازی ،embedded system و غیره می باشد
در کل جاهایی که performance به دیگر موارد می چربه علتش رو هم خیلی ساده بخام بگم low level بودنش هستش یعنی کامپایلر c خودش همه کد بهینه تری تولید می کنه و هم کد شما رو بهینه می کنه استفاده کامپایلر از sse instruction در نظر گرفتن memory alignment که در واقع بحث مهمی توی کش کردن دستورات می باشد وقتی صحبت performance میشه برای شما میزان کلاک مصرفی هر دستور مطرحه افرادی که با زبان c به صورت حرفه ای کار می کند به کد اسمبلی تولید شده نیز همیشه توجه می کنند که چطور هم کلاک رو کاهش بدند و هم از کش cpu بدرستی استفاده بشه

در انتها یک نگاه اجمالی کتابخانه Open Source معروفی که در آنها performance حرف اول رو میزنه open gl ,open cv, open cl , cuda runtime language,IPP,IBB,DirectX و دهها کتابخانه و انجین که من خودم ازشون استفاده می کنم ولی کاربرد عمومی نداره

موفق باشید

fjm11100
پنج شنبه 29 تیر 1391, 19:19 عصر
زبان c کاربردهای وسیعی داره ولی بعضی جاها کاربردش خیلی ملموستره. مثلا شما برای برنامه نویسی میکروها میتونی اسمبلی یا بیسیک هم کار کنی. اما اسمبلی کار کردن خیلی زمانبر و سخته مثلا یک if ساده در c میتونه چند خط شرط نوشتن بخواد. از طرفی هم بیسیک دیگه خیلی سطح بالاتر میشه و خیلی خوش دست نیست برای کار سطح پایین. درواقع برنامه نویسی c نه به اندازه اسمبلی حجیم و سخته و نه مثل زبانهای دیگه بدلیل سطح بالا بودن شما را از دسترسی مستقیم به حافظه یا انجام کارها بصورت دستی منع میکنه ضمن اینکه میتونی در c کدهای اسمبلی هم داشته باشی.
چون c یک زبان سطح میانی است هنگام کامپایل به بهینه ترین شکل ممکن کامپایل میشه( زبانهای سطح بالاتر ممکنه کدهای اضافی تری تولید بکنند که دلیلش طراحی عمومی تر این زبانها برای ساده تر کردن کدنویسی است) برای همین هم چه از نظر سرعت و چه مصرف منابع خروجی اجرایی بهینه ای داره و برای سیستمهایی که سرعت خیلی نقش مهمی داره یا منابع کمه(مثل میکروها) از c بیشتر استفاده میشه.
اما c++ یک سطح از c بالاتره تا هم با استفاده از مفاهیم شی گرایی مثل کلاسها کار برنامه نویس ساده بشه و هم قدرت c در کار مستقیم با حافظه حفظ بشه. برای همین کاربردش بیشتر در جاهایی است که برنامه ها پیچیده تر و بزرگترند اما منابع هم بیشتر و پردازنده ها هم قوی تر شده اند و حساسیت برای بهینه سازی به اندازه c نیست مثل کنترلرهای arm و سیستمهای پردازش تصویر یا محاسبات پیچیده ریاضی و سیستمهای عامل.

pckho0r
جمعه 30 تیر 1391, 22:32 عصر
بالای 80 درصد برنامه هایی که رو ویندوزهاتون نصب می کنین با C++ نوشته شدن حالا با کامپایلرهای مختلف ، بقیه یا دلفی هست یا وی بی