پرش به محتوا

بایگانی

دسته بندی: سی پی پی

عبارت زیر را در نظر بگیرید:

int x = 5 + 3 * 8;

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

  • Share/Bookmark

نوکیا امروز اعلام کرد که چهارچوب Qt را به سیستم عامل Maemo خواهد برد و علت آنرا وجود کشش بازار و درخواست های مشتریان برای محصولاتی مانند N900 عنوان کرد.

ادامه مطالعه …

  • Share/Bookmark

در C++ پنج عملگر باینری یا دودویی وجود دارد:

۱)      عملگر جمع (+)

۲)      عملگر تفریق (-)

۳)      عملگر ضرب (*)

۴)      عملگر تقسیم (/)

۵)      عملگر باقیمانده (%)

ادامه مطالعه …

  • Share/Bookmark

علاوه بر مشخص کردن، تعریف، ورود و خروج متغیرهای انواع مختلف، میتوان بین متغیرها عملیات ابتدایی ریاضی را نیز انجام داد.

۱-۴-۱- عملگرهای ریاضی یگانی

عملگر یگانی عملگری است که روی یک متغیر کار میکند (عملوند). جدول زیر خلاصه ای از سه عملگر یگانی است :

ادامه مطالعه …

  • Share/Bookmark

اینتل با در دست داشتن دو افزونه زبان، ++C را به سوی محاسبات موازی (Parallel Computing) روی پردازنده های چندهسته ای سوق میدهد. بستر++ Cilk که از Cilk Arts در اوایل همین ماه خریداری شده است، بازدهی برنامه ها روی پردازنده های چندهسته ای را به کمک مجموعه ای افزونه های ++C و یک سیستم زمان اجرا افزایش میدهد. این شرکت سه هفته پیش نیز در همین زمینه با در دست گرفتن RapidMind، گامی دیگر در انطباق برنامه های در حال اجرا روی پردازنده های چندهسته ای برداشت.

جیمز ریندرز، مدیر بازاریابی اینتل برای محصولات نرم افزاری، تشریح میکند که استفاده از قدرت پردازنده های چندهسته ای همواره در ذهن اینتل بوده است. شرکت ابزارها و کارهایی برای برنامه سازی چندهسته ای را بطور همزمان انجام داده است که میتوان از آنها به Intel Parallel Studio در ماه می اشاره کرد.

کاری که اینتل با کتابخانه قالب ++Intel Treading Building Blocks C که بخش اعظمی از Intel Parallel Studio میباشد، انجام داده است دقیقاً مانند بستر ++Cilk میباشد. اینتل ++Cilk را با کامپایلرهای C و++ C خود یکپارچه خواهد کرد.

ریندرز میگوید : ” این کار ممکن است تغییر کمی در آنچه ++Cilk امروزی است، بدهد. ممکن است بهینه سازی هایی انجام دهیم، ولی بطور کلی ما از روشی که آنها پیش گرفته اند راضی هستیم و خوشحالیم که نفرات آنها را در کنار خود داشته باشیم“. ریندرز گفت که کامپایلرهای اینتل روش واضحی برای ارائه تکنولوژی ++Cilk به بازار را در پیش گرفته است.

++Cilk و Treading Building Blocks بسیاری از توابع همانند را برای نوشتن برنامه های نرم افزاری دارند، ولی Treading Building Blocks را میتوان روی هر کامپایلر ++C و هر پردازنده ای روی هر سیستم عاملی مورد استفاده قرار داد. ++Cilk کلیدواژه های جدیدی به زبان ++C اضافه کرده است و تدریس و یادگیری آن ساده تر است. تدریس کامپایلرهای اینتل برای استفاده از شکل دستوری ساده تر ++Cilk به برنامه نویس این امکان را میدهد تا کارهای بارزتری در پاراللیسم انجام دهد.

بزرگترین تفاوت ++Cilk و RapidMind به گفته وی این است که تکنولوژی RapidMind روی موازی سازی داده ها کار میکند که متشکل از هر نوع برنامه نویسی است که مقادیر زیادی از داده را پردازش میکند. از این نوع برنامه ها میتوان به محاسبات علمی، پردازش تصاویر، داده های زمین شناسی و دیگر انواع داده اشاره کرد.

به گفته ریندرز اگر شما بطور تخصصی روش مشکل موازی سازی داده ها کار میکنید، به کمک این تکنولوژی کارهای بسیار جالبی انجام خواهید داد. میتوانید مقیاس پذیری بالا و انعطاف پذیری زیادی ذر کد خود داشته باشید. یکی از موارد منحصر بفرد در مورد تکنولوژی RapidMind این است که اگر شما برنامه ای بنویسید و آنرا روی سیستمی که دارای دستورالعملهای SSE است، اجرا کنید، برنامه شما قادر به استفاده از آن قابلیتها خواهد بود.

اینتل تکنولوژی RapidMind را با پروژه تحقیقاتی Ct خود ترکیب خواهد کرد و بدین ترتیب تمام قابلیت های تکنولوژی این دو باهم ترکیب خواهد شد.

  • Share/Bookmark

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

لینک دانلود درس سوم

  • Share/Bookmark

اگر از درس اول بیاد داشته باشید، ما برنامه ای نوشتیم، آنرا کامپایل کرده و اجرا نمودیم و نتیجه را نیز مشاهده کردیم. اکنون به بررسی جزء به جزء برنامه نوشته شده می پردازیم. در این درس اطلاعات نسبتاً خوبی را در مورد اصول برنامه نویسی دریافت خواهید کرد.

لینک دانلود درس دوم

  • Share/Bookmark

++C زبانی بسیار قدرتمند است که جنبه های برنامه نویسی سطح بالا مانند شیء گرایی و کارآیی زبانهای سطح پایین مانند توانایی در دستکار مستقیم حافظه را بطور یکجا دارا میباشد. به همین علت، C++ زبانی است که بازی نویسان آنرا انتخاب میکنند. ++C نیازهای مربوط به ساختارهای زبانی سطح بالا را که در سازماندهی ساخت دنیاهای مجازی پیچیده مورد نیاز است فراهم میکند و در عین حال بهینه سازی سطح پایین را نیز فراهم میکند که بدین ترتیب بازدهی چیزهایی مانند جلوه های ویژه، فیزیک واقع گرا و هوش مصنوعی پیچیده را بسیار بالا میبرد.

لینک دانلود ادامه مطلب

  • Share/Bookmark

دیگر امکانات سایت

آموزشگاه مجازی کتابخانه مجازی نقشه سایت