PDA

View Full Version : سوال: چرا ویژوال استودیو برنامه نوشته شده رو اجرا نمی کنه؟



idocsidocs
جمعه 12 خرداد 1391, 16:23 عصر
من توی نسخه اکسپرس 2010 از طریق کنسول یه پروژه جدید ایجاد کردم و یه برنامه نوشتم.

اما وقتی برای اجرای برنامه کلید F5 رو می زنم، یه پنجره باز مشه و می گه فایل startpro.exe یافت نشد.

به همین دلیل نمی تونم برنامه ای که نوشتم رو اجرا کنم.

باید بگم که ویژوال اسودیو رو دیشب دانلود و نصب کردم و نسخه 2010 هست.

لطفا بگید مشکل چیه؟

idocsidocs
شنبه 13 خرداد 1391, 01:04 صبح
دوستان کسی نمی دونه مشکل چیه؟

اگر کلید F5 رو بزنم فایل exe ساخته می شه یا باید بصورت جداگانه این فایل رو بسازم؟

بنظرتون مشکل چیه؟

حامد مصافی
شنبه 13 خرداد 1391, 01:32 صبح
برو در فولدر پروژه ببین اصلا فایل اجرایی برنامت وجود داره؟ اگر نداشت از یک آنتی ویروس بخواه سیستمتو بررسی کنه

idocsidocs
شنبه 13 خرداد 1391, 01:59 صبح
برو در فولدر پروژه ببین اصلا فایل اجرایی برنامت وجود داره؟ اگر نداشت از یک آنتی ویروس بخواه سیستمتو بررسی کنه
الان این برنامه رو نوشتم:
#include <iostream>
using namespace std;
int main(){
cout << "Hello, my programmer!\n" ;
return 0;
}
فایل exe ایجاد نمی شه.

این ارور ها نمایش داده می شه:
1>------ Build started: Project: f1, Configuration: Debug Win32 ------
1> f1.cpp
1>c:\documents and settings\f1\my documents\visual studio 2010\projects\f1\f1\f1.cpp(1): warning C4627: '#include <iostream>': skipped when looking for precompiled header use
1> Add directive to 'StdAfx.h' or rebuild precompiled header
1>c:\documents and settings\f1\my documents\visual studio 2010\projects\f1\f1\f1.cpp(7): fatal error C1010: unexpected end of file while looking for precompiled header. Did you forget to add '#include "StdAfx.h"' to your source?
========== Build: 0 succeeded, 1 failed, 0 up-to-date, 0 skipped ==========

بنظرتون مشکل از کجاست؟

aezvenoos
شنبه 13 خرداد 1391, 09:17 صبح
سلام
عزیز ویژوال یه هدری رو به برنامه اضافه می کنه که بدون برنامه run نمی شه
کافیه هدر زیر رو اضافه کنید که تو ارور ها هه نوشته
#include "StdAfx.h"

idocsidocs
شنبه 13 خرداد 1391, 11:52 صبح
کافیه هدر زیر رو اضافه کنید که تو ارور ها هه نوشته
الان برنامه رو به این شکل تغییر دادم ولی باز هم فایل exe اجرا نشد !
#include "stdafx.h";

#include <iostream>;
using namespace std;
int main()
{ //prints "Hello, my programmer!" :
cout << "Hello, my programmer!\n" ;
return 0;
}
اروری که نمایش داده شد:
'ffff.exe': Loaded 'C:\Documents and Settings\ok\My Documents\Visual Studio 2010\Projects\ffff\Debug\ffff.exe', Symbols loaded.
'ffff.exe': Loaded 'C:\WINDOWS\system32\ntdll.dll', Cannot find or open the PDB file
'ffff.exe': Loaded 'C:\WINDOWS\system32\kernel32.dll', Cannot find or open the PDB file
'ffff.exe': Loaded 'C:\WINDOWS\system32\msvcp100d.dll', Symbols loaded.
'ffff.exe': Loaded 'C:\WINDOWS\system32\msvcr100d.dll', Symbols loaded.
The program '[3992] ffff.exe: Native' has exited with code 0 (0x0).

بنظرتون مشکل چیه؟

حامد مصافی
شنبه 13 خرداد 1391, 12:48 عصر
برنامه شما اجرا میشه. فقط چون این عمل سریع اتفاق می‌افته شما نمی‌تونید ببینیدش! یک دستور sleep یا دریافت ورودی در پایان برنامه قید کنید.

amir.bakhtiari
شنبه 13 خرداد 1391, 13:14 عصر
با Ctrl+F5 اجرا کن تا نتیجه برنامتو ببینی.

idocsidocs
شنبه 13 خرداد 1391, 14:25 عصر
با Ctrl+F5 اجرا کن تا نتیجه برنامتو ببینی.


مرسی دوستان
با این روش کد اجرا شد.

اما نمی شه کاری کرد که برنامه پس از اجرا حذف نشه؟

aezvenoos
شنبه 13 خرداد 1391, 14:36 عصر
مرسی دوستان
با این روش کد اجرا شد.

اما نمی شه کاری کرد که برنامه پس از اجرا حذف نشه؟
حذف نشه ؟؟؟؟؟؟؟
مگه برنامه حذف میشه ؟ برید توی پوشه اون برنامه فایل اجرایی اون برنامه هست

idocsidocs
سه شنبه 16 خرداد 1391, 22:54 عصر
وقتی یه کد رو می نویسم و کامپایل می کنم، بعد از کامپایل اگر کدها رو تغییر بدم، خروجی فقط برای کد اول ایجاد می شه و کدهای بعدی هیچ تغییری نمی کنن ! چطور می شه این محدودیت رو برطرف کرد؟

یه مشکل دیگه هم اینکه الان توی ویژوال استودیو ورژن اکسپرس این کد رو نوشتم و موقع اجرا ارور داد !
#include <iostream>
int main(){
cout << "Hello, World!\n";
return 0;
}
بعد از چند دقیقه متوجه شدم که خط زیر رو اضافه نکردم !
using namespace std;
کلا توی خطا یابی هیچ اروری نمی گیره ! اگر ; رو اضافه کنم یا اضافه نکنم هیچ فرقی نداره براش !

نمی شه کاری کرد که بشه موقع کد نویسی ارورها رو نوشنم بده تا وقتم کمتر تلف بشه؟
الان phpdesigner این قابلیت رو داره و کارم رو خیلی راه انداخته.

amir.bakhtiari
چهارشنبه 17 خرداد 1391, 00:42 صبح
الان phpdesigner این قابلیت رو داره و کارم رو خیلی راه انداخته.
من با ورژن اکسپرسش کار نکردم ولی با ultimate که برنامه مینویسم هر خطی که ERROR داشته باشه یه خـط قرمز زیر خطی که دارای ERROR باشه مشخص میکنه و فکر نکنم تو اکسپرس هم فرقی داشته باشه.
موفق باشید

idocsidocs
چهارشنبه 17 خرداد 1391, 00:50 صبح
من با ورژن اکسپرسش کار نکردم ولی با ultimate که برنامه مینویسم هر خطی که ERROR داشته باشه یه خـط قرمز زیر خطی که دارای ERROR باشه مشخص میکنه و فکر نکنم تو اکسپرس هم فرقی داشته باشه.

وقتی یه کد رو می نویسم و کامپایل می کنم، بعد از کامپایل اگر کدها رو تغییر بدم، خروجی فقط برای کد اول ایجاد می شه و کدهای بعدی هیچ تغییری نمی کنن ! چطور می شه این محدودیت رو برطرف کرد؟

one hacker alone
چهارشنبه 17 خرداد 1391, 01:33 صبح
شما rebuild all بزن این مشکلتون حل میشه

idocsidocs
چهارشنبه 17 خرداد 1391, 02:29 صبح
شما rebuild all بزن این مشکلتون حل میشه


برای اجرای مجدد هر برنامه باید این فرایند تکرار بشه؟

سوال دیگه اینکه چرا توی ویژوال باید سرفایل StdAfx.h رو به برنامه اضافه کرد؟

one hacker alone
چهارشنبه 17 خرداد 1391, 13:09 عصر
در مورد سوال اولتون باید بگم من خودم همیشه عادت کردم میزنم و دقت نکردم کجا بزنم کجا نزنم زیاد مهم نیست مهم اینه که برنامه اجرا بشه البته توی پروژه های خیلی سنگین اونوقت مهم میشه
سوال دوم هم باید بگم این فایل سرایند اطلاعات مربوط به solution پروژه شما یعنی فایل هاتون که در پروژه دخالت دارند رو در خودش نگه میداره لذا در وقت ساخت پروژه برنامه میره سراغ اون فایل و اطلاعات مربوط به فایل های سرایند و فایل های دیگه و مکان اونها رو میخونه

idocsidocs
چهارشنبه 17 خرداد 1391, 13:24 عصر
سوال دوم هم باید بگم این فایل سرایند اطلاعات مربوط به solution پروژه شما یعنی فایل هاتون که در پروژه دخالت دارند رو در خودش نگه میداره لذا در وقت ساخت پروژه برنامه میره سراغ اون فایل و اطلاعات مربوط به فایل های سرایند و فایل های دیگه و مکان اونها رو میخونه
توی زبان سی هم باید این سرفایل رو بکار برد؟

one hacker alone
چهارشنبه 17 خرداد 1391, 17:31 عصر
بله - این موضوع مربوط به این IDE هست حالا سی و ++ فرقی نداره