# Native Code > برنامه نویسی با C > برنامه نویسی با MFC و ++Visual C >  اموزش کار با محیط ویژوال C++‎ 2008

## King_Net

اموزش تصویری کار کردن با Visual C++‎2008 رو میخواستم
(قسمت اجرای برنامه تو میحط کامپایلر)

----------


## A_Salimi

مشکلت کجاست . . . ؟

ساده ترین راه استفاده از منوی فایل است :

File->Open->Project/Solution
و يا کليد هاي ترکيبي ctrl+shift+O

که از طريق دیالوگی که باز میشود به محل ذخیره پروژه بروید و فایل پروژه را باز کنید (معمولا فایل با پسوند *.sln ) .بعد از باز شدن پروژه باید تمام کلاسها را در sloution explorer  ، تمامی ریسورس ها (اعم از دیالوگ ، منو و ...) را در resourse view مشاهده نمایید .

حالا وقت آن است که پروژه را build نمایید (با کلید f7 ) .بعد از آن اگر برنامه خطا نداشته باشد (که البته با استفاده از کلید F4 میتوانید به خطهایی از برنامه که خطا دارند دسترسی داشته باشید) میتوانید پروژه را با استفاده از دکمه Start without debugging (کلید ترکیبی ctrl+F5 ) اجرا نمایید .

----------


## Nima_NF

هر چند که چندان چیز خاصی وجود ندارد، اما با توجه به چند مرتبه درخواست شما، سعی شد توضیحات به طور کامل با عکس داده شود.
*
- نحوه ایجاد و کامپایل پروژه های کنسول:*

1- از منوی File->Open->Project/Solution در شاخه ++VC یا  به قسمت general  رفته  و یک پروژه خالی (Empty project) بسازید و یا به قسمت win32 رفته و سپس یک پروژه win32 console application بسازید (در پنجره ظاهر شده تنظیمات دلخواه را انجام دهید مثلا پروژه خالی یا همان Empty باشد)
001.jpg

2 - در قسمت solution explorer بر روی فولدر source files راست کلیک کرده و از شاخه Add گزینه  Add New Item را انتخاب کنید. در پنجره ظاهر شده می توانید هدر فایل .h یا فایل سور .cpp بسازید و به پروژه اضافه کنید. 

نکته: هر فایلی سورس کدی که می خواهد توسط برنامه استفاده شود باید به پروژه اضافه شده باشد(در solution explorer دیده شود)، یعنی اگر مثلا شما فایلی با نام test.cpp در اختیار دارید و می خواهید آن را کامپایل کنید، ابتدا یک پروژه خالی بسازید و همانند این مرحله ، بعد از انتخاب شاخه Add سپس Add exsiting item را انتخاب کنید تا به پروژه اضافه شود.
ضمنا اگر فایلی استفاده نمی شود، نباید به پروژه اضافه شده باشد، در غیر این صورت خطا دریافت می کنید.
002.jpg

3- وقتی برنامه خود را نوشتید، از منوی build ، گزینه build solution را انتخاب کنید تا کل پروژه کامپایل شود. دقت کنید که با build فایل های اجرایی در مسیری که پروژه را ساخته اید تولید می شوند، اما پروژه اجرا نمی شود. برای اجرا باید از منوی Debug یکی از دو مورد Start با حالت Debug یا بدون حالت Debug را انتخاب کنید.

نکته: در نوار ابزار برنامه یک combobox هست که به طور پیش فرض Debug (اشکال زدایی) در آن انتخاب شده است و در کنارش یک مثلث سبز رنگ هست، اگر نوشتن پروژه تمام شده است و می خواهید نسخه نهایی را تولید کنید، به جای debug حتما حالت *release* را انتخاب کنید تا فایل اجرایی اصلی تولید شود.

- ضمنا اگر به جای کارهای فوق، فقط این مثلث سبز را کلیک کنید، هم پروژه کامپایل می شود و هم پروژه اجرا می شود.
003.jpg

------------------------------------------------------------

*- نحوه Debug یا  اشکال زدایی پیشرفته:
*1- در حاشیه کناری editor متن و خط مورد نظری که می خواهید محتویات متغیر ها و یا انجام عملیات آن را مشاهده کنید با موس کلیک کنید، یک دایره قرمز در همانجا ساخته می شود.

به این شکل یک breakpoint ساخته اید که هرگاه برنامه را در حالت Debug اجرا کنید و اجرای برنامه به آن خط از کدها برسد، برنامه همانجا متوقف می شود (یک فلش زرد رنگ خط کنونی را نمایش می دهد) و شما می توانید از طریق پنجره Autos یا locals تمامی مقادیر متغیر های را تا آنجا به صورت آنی مشاهده کنید. ضمنا هرگاه که دیگر نمی خواهید debug انجام شود دوباره بر روی دایره قرمز کلیک کنید تا حذف شود.
004.jpg

2- حال می توانید از طریق منوی debug و 3 گزینه step که در شکل هم مشخص شده است، خط های بعدی را اجرا کنید. مثلا با کلید f10 یا همان step over می توانید خط بعدی را اجرا کنید و تغییر مقادیر متغیر ها را در پنجره های ذکر شده مشاهده کنید.

از طریق step into اگر به یک تابع برسید، می توانید به داخل پیاده سازی تابع رفته و کدهای آن را مرحله به مرحله اجرا کنید. حتی می توانید به این شکل سورس کد بسیاری از  کتابخانه های استاندارد ++C/C را نیز مشاهده کنید.

از طریق step over وراد توابع نمی شوید.

از طریق step out اگر وارد تابعی شده باشید، با آن بدون ادامه خط های بعدی، از تابع خارج می شوید.

*نکته*: روش دیگر debug به این شکل است که مستقیما در editor متن بر روی هر خطی که می خواهید debug انجام شود فقط راست کلیک کرده و گزینه *Run to cursor* را انتخاب کنید

3- *روش پیشرفته تر* debug به این شکل است:
وقتی از طریق موس دایره breakpoint را در کنار خط مورد نظر قرار دادید، می توانید بر روی دایره قرمز راست کلیک کرده و سپس یکی از امکانات پیشرفته را انتخاب کنید. (condition  و  Hit Count و غیره)
مثلا با Hit Count می توانید مشخص کنید هرگاه چند مرتبه این خط اجرا شد آنگاه برنامه را متوقف کن ، به عنوان مثال در حلقه ها کاربرد بسیار دارد.
005.jpg

موفق باشید

----------


## King_Net

مرسی مدیر جون
تصاویر اموزش رو تو محیط 2005 نشون میدا نه 2008 قربونت برم!!!

----------


## man4toman

بجای زدن دکمه ی تشکر زیر پستی که برای شما با صبر و حوصله زده شده، بهانه ی بنی اسراییلی نیارید دوست من.
محیط ویژوال 2005 با 2008 فرقی نداره. همون اعمال قابل اجراست.
با تشکر مجدد از نیمای عزیز مدیر فعال بخش
موفق باشید

----------


## ashkan4257

سلام با تشکر از شما و همکاران که به ما کمک میکنید.امیدوارم موفق باشید

----------


## Nima_NF

دوستانی که از کتاب های قدیمی استفاده می کنند باید دقت کنند که به خاطر ایجاد تغییرات 10 سال اخیر در استاندارد زبان های ++C/C در کدهای خود باید تغییرات اندکی دهید، مانند حذف .h از نام برخی کتابخانه ها و استفاده از حوزه std.

با توجه به سوالات مکرر کاربران در مورد برنامه نویسی کنسولی لطفا تاپیک زیر را نیز مطالعه کنید:
https://barnamenevis.org/showthread.php?t=95704

----------


## parsiyani

سلام لطفا طریقه ساخت نصب یک برنامه را توضیح دهید

----------


## Open-Source

میشه طوری کد نوشت که به دات نت فریم ورک نیاز نباشه؟!
آخه کد نویسی کنسول هم به دات نت فریم ورک نیاز داره(من با سی شارپ کد مینوشتم نیاز داشت)

----------


## Nima_NF

> میشه طوری کد نوشت که به دات نت فریم ورک نیاز نباشه؟!
> آخه کد نویسی کنسول هم به دات نت فریم ورک نیاز داره(من با سی شارپ کد مینوشتم نیاز داشت)


زبان #C مبتنی بر CLR هست و زبان ++C یک زبان برنامه نویسی همه منظوره و مخصوص native هست.
این دو از لحاظ زیر ساخت متفاوتند و نباید با هم مقایسه کنید.
در ویندوز همه برنامه های ++C کنسول شما اگر در حالت win32 باشد، وابسته به .NET نیست.
توضیحات بیشتر:
https://barnamenevis.org/showthread.php?t=111283

----------


## user68

با سلام
چه طور میشه یه کاری کرد که تو C++‎ خطی که ارور داره رو  بعد از  debug به صورت رنگی نشون بده تا راحت تر بشه پیداش کرد ؟؟
باتشکر

----------


## Nima_NF

خطا ها به ترتیب در error list قرار داده می شوند، بر روی آن دابل کلیک کنید تا به خط مورد نظر بروید.

----------


## A_Salimi

> با سلام
> چه طور میشه یه کاری کرد که تو C++‎‎‎ خطی که ارور داره رو  بعد از  debug به صورت رنگی نشون بده تا راحت تر بشه پیداش کرد ؟؟
> باتشکر


رنگی کردنش رو نمی دونم اما یکی از بهترین راهها استهاده از بوک مارک است بدین صورت که در  خط مورد نطر دکمه های ctrl وّF2 رو فشار میدی تا یک بوک مارک اضافه شه .با فشار F2 بین اونها میتونی حرکت کنی و به خط مورد نظر برسی.

این برای حرکت کردن بین خطهاست ،اما برای پیدا کردن خط مشکل دار از F4 استفاده کن.

----------


## hobab1987

سلام
در رابطه با ايجاد كلاس يا ساختمان و تابع در اين محيط لطفا توضيحي بدهيد كه در همين پروژه .cpp ميشه كد نويسي كرد يا بايد در قسمت ديگري كدهاي تابع و كلاس رو نوشت ؟
چون من يه برنامه ساده نوشتم كه برنامه اجرا شد اما با اضافه كردن كلاس يا تابع به ادامه برنامه ، اررور ميداد در حالي كه برنامه رو قبلا در توربو سي تست كرده بودم.

----------


## Nima_NF

توربو C از استاندارد 20 سال قبل پیروی می کند. 
اما visual C++‎‎‎یا سایر کامپایلرهای پیشرفته جدید مانند gcc از جدیدترین استاندارد پیروی می کنند.

با این حال برای نوشته برنامه های معمول و کلاس ها و غیره تفاوت خاصی در نحوه نوشتن نیست یکسان هست.
اگر می خواهید یک برنامه جدید بنویسید، حتما پروژه را empty تعریف کنید و سپس در solution explorer یک فایل cpp بسازید و در آن کدها را بنویسید.

مجددا تاکید می کنم، فایل های پروژه ساخته شده را پاک نکنید و در آن برنامه ننویسید.
اگر قرار هست تمامی کدها شامل تابع main و هدر فایل ها را پاک کنید، حتما یک پروژه خالی empty را شروع کنید.

مقاله این تاپیک را دقیق مطالعه کنید.

----------


## parsiyani

کسی که جواب مارو نداد بازم ممنون  :لبخند گشاده!:

----------


## Nima_NF

> کسی که جواب مارو نداد بازم ممنون


در FAQ در قمست اعلان های همین بخش جستجو کنید قبلا در مورد setup توضیح داده شده است و لینک آن ها قرار داده شده است.

----------


## limotorshe3

اقا خيلي به كار اومد

ممنون از لطفتون
 :تشویق:

----------


## mahyar1386

من وقتی روی start debugging یا بدون دیباگ کلیک میکنم این ارور رو میده !

Unable to start program 'C:\Documents and Settings\mahyar\My Documents\Visual Studio 2008\Projects\mahyar\Debug\mahyar.exe'.
The system cannot find the file specified.

----------


## mahyar1386

میشه راهنمایی کنید ؟

----------


## هم دانشگاهی

منم همین اشکال دوستمون رو دارم. وقتی برنامه رو debug میکنم پیام

Unable to start program 'C:\Documents and Settings\mahyar\My Documents\Visual Studio 2008\Projects\mahyar\Debug\mahyar.exe'

رو میده !   :خیلی عصبانی:   اگه میشه راهنمایی کنین!  :چشمک: 

// _______________________________________________

باران باش ببار نگو این کاسه مال کیست  کوروش

----------


## iman7777777777

چرا عکس ها نمایش داده نمیشود با توجه به اینکه من عضو هستم؟
هم چنین برنامه ی من اجرا نمیشود . من از vC++‎ 2005 استفاده میکنم. ممنون

----------


## user68

با سلام دوستان میشه یه برنامه ساده تو این محیط بنویسید . اخه من قبلا با turbo c  کار میکردم و کتاب جعفرنژاد رو خونده بودم. ولی وقتی برنامه های اون محیط رو این جا کپی میکنم  ازهمه چیز  ارور میگیره(از clrscrوiostream.h گرفته تا cout ) . مگه دستورات همون نیست؟ لطفا یه برنامه ساده که من با نحوه کلی نوشتن دستورات اشنا بشم( متاسفانه turbo c دیگه رو کامپیوترم اجرا نمیشه)
با تشکر

----------

