PDA

View Full Version : عوض کردن کامپایلر



dada_vahid
سه شنبه 01 دی 1388, 12:20 عصر
عوض کردن کامپایلر
به نام خدا
همگی خسته نباشید
من توی برنامه نویسی مبتدی هستم من برای اینکه برنامه هارو کامپایلر کنم از Dev-C++‎‎ استفاده
میکنم حالا میخوام از Microsoft Visual Studio 2008 استفاده کنم برای شروع برای من سخته که از Microsoft Visual Studio 2008 استفاده کنم .
کسی هست توضیح مختصری درباره Visual Studio به من بده که بتونم برنامه هام بنویسم (البته من نمی دونم توی کدام محیط visualباید کدC++‎‎رو نوشت ) مهمتر از اون کامپالیر کنم من الان یرنامه های را که توی Dev-C++‎‎ مینویسم رو میتونم copy past کنم توی visual studio ولی نمیدونم چه جور کامپایلرش کنم و چه جوری EXE رو بسازم یا اصلان او محیطی که برای کدنویسی C++‎‎ لازمه درست انخاب کردم یا نه ممنون می شم تقریبا نوشته هام یک رمان کامل شد
آموزش visual studio هست توی تایپیک که من بتونم دانلودش کنم؟؟؟

ricky22
سه شنبه 01 دی 1388, 12:52 عصر
عوض کردن کامپایلر
به نام خدا
همگی خسته نباشید
من توی برنامه نویسی مبتدی هستم من برای اینکه برنامه هارو کامپایلر کنم از Dev-C++‎‎‎ استفاده
میکنم حالا میخوام از Microsoft Visual Studio 2008 استفاده کنم برای شروع برای من سخته که از Microsoft Visual Studio 2008 استفاده کنم .
کسی هست توضیح مختصری درباره Visual Studio به من بده که بتونم برنامه هام بنویسم (البته من نمی دونم توی کدام محیط visualباید کدC++‎‎‎رو نوشت ) مهمتر از اون کامپالیر کنم من الان یرنامه های را که توی Dev-C++‎‎‎ مینویسم رو میتونم copy past کنم توی visual studio ولی نمیدونم چه جور کامپایلرش کنم و چه جوری EXE رو بسازم یا اصلان او محیطی که برای کدنویسی C++‎‎‎ لازمه درست انخاب کردم یا نه ممنون می شم تقریبا نوشته هام یک رمان کامل شد
آموزش visual studio هست توی تایپیک که من بتونم دانلودش کنم؟؟؟
سلام دوست خوب شما باید بری c# رو یاد بگیری
syntax c# شبیه c++ هست و یاد گیریش واست راحته در ضمن این کار میسر نیست که کدای c++ رو عینا تو c# بریزی جواب بده



برخی از تفاوت‌های زبان سی شارپ با C و ++C عبارتند از:


هیچ تابع یا متغیر سراسری(Global) وجود ندارد، تمام متدها و اعضا بایستی در داخل کلاس‌ها تعریف شوند.این امر ممکن است، هر چند برای استفاده از متغیر‌ها و توابع عمومی باید از متدها و متغیرها در کلاس‌های عمومی استفاده کرد.



متغیر‌های عمومی، بر خلاف C و ++C ، نمی‌توانند بلاک‌های پیوستی را در بر بگیرند.



سی شارپ (http://fa.wikipedia.org/wiki/%D8%B3%DB%8C_%D8%B4%D8%A7%D8%B1%D9%BE) دارای یک نوع داده بولی است (bool).برخی از عبارت‌ها مانند while و if که شرطی هستند، نیازمند یک عبارت نوع بولی هستند.همان طور که ++C نیز دارای نوع داده بولی است،این نوع داده به راحتی می‌تواند به یا از Integerها تبدیل شود، و عبارتی مانند (if(a نیازمند این امر است که a از یک نوع قابل تبدیل به bool یا اشاره گر باشد.کامپایلر سی شارپ برنامه نویس را در این شرایط مجبور به استفاده از عباراتی می‌کند که به درستی یک مقدار bool را برمی‌گردانند. بنابراین دستوری مانند (if(a = b باعث بروز خطا می‌شوند.(به جای = بایستی از == استفاده شود)



در سی شارپ ، اشاره گرهای به حافظه بایستی فقط در داخل بلوکهای unsafe استفاده شوند و برنامه در این حالت برای اجرا نیاز به اجازه از کاربر دارد.بیشتر دسترسی شی از طریق شی امن است که یا همیشه در حال اشاره به شی صحیح موجود است یا یک مقدار Null دارد. اشاره گری به شی به درد نخور یا بلاک حافظه رندم غیر ممکن است.اشاره گر نا امن می‌تواند به نمونه‌ای از value-type ، آرایه، رشته یا بلاکی که حافظه به آن داده شده‌است اشاره نماید.کدی که به عنوان نا امن علامت نخورده باشد، هنوز می‌تواند اشاره گر‌ها را از سیستم بازیابی یا در آن ذخیره کند ولی نمی‌تواند مرجع جدیدی به آنها اختصاص دهد.



حافظه ساماندهی شده نمی‌تواند صریحا آزاد شود، ولی به طور خودکار به عنوان به درد نخور تلقی می‌شود.انتخاب آدرس‌های به درد نخور حافظه نفوذ ناپذیر است. هم چنین #C با استفاده از عبارات، پشتیبانی مستقیمی از پایان اجباری می‌کند(پشتیبانی از اصطلاح Resource Acquisition Is Initialization).



وراثت (http://fa.wikipedia.org/wiki/%D9%88%D8%B1%D8%A7%D8%AB%D8%AA) چندگانه از کلاس‌ها در این زبان پشتیبانی نمی‌شود.البته یک کلاس امکان ارث بری از تعداد نامحدود واسط‌ها را دارد.پشتیبانی نکردن از وراثت چندگانه به دلیل اهداف معماری (http://fa.wikipedia.org/wiki/%D9%85%D8%B9%D9%85%D8%A7%D8%B1%DB%8C) این زبان در CLI و برای جلوگیری از پیچیدگی (http://fa.wikipedia.org/wiki/%D9%BE%DB%8C%DA%86%DB%8C%D8%AF%DA%AF%DB%8C) است.



سی شارپ (http://fa.wikipedia.org/wiki/%D8%B3%DB%8C_%D8%B4%D8%A7%D8%B1%D9%BE) بسیار typesafe تر از C++ است. تنها تبدیلات ضمنی مثل تبدیل نوع داده کوچکتر به بزرگتر یا تبدیل نوع مشتق شده به نوع پایه به طور پیش فرض و بدون خطا صورت می‌پذیرد.هیچ تبدیل ضمنی ای میانBooleanها و Integerها وجود ندارد و هر تبدیل user-defined بایستی به صراحت با یکی از کلمات explicit یا implicit نشانه گذاری شود. تبدیل b به a در حالتی که a یک Integer و b یک double باشد در زبان C++ مجاز است اما در سی شارپ به یک خطای زمان کامپایل منجر می‌شود(بایستی به صورت explicit تعریف شود)



اعضای Enumeration در داخل محدوده شخصی خود قرار دارند.



#C قابلیت syntactic sugar را برای توابع متداول، اکسسور‌ها و ماجول‌های کسول شده در یک کلاس به صورت ویژگی‌ها قرار داده‌است.

اکسسورها که خاصیت نیز گفته می‌شوند در زبان سی شارپ قادر به کنترل دسترسی اعضا و معتبرسازی داده‌ها هستند.


تمام انواع بازتابی(Reflection) و بازیابی(Recovery) قابل استفاده‌است.

source:www.fa.wikipedia.com

dada_vahid
سه شنبه 01 دی 1388, 14:30 عصر
ممنونم دوست عزیز
من این کارو نخواستم بکنم
من از کامپایلر Dev-C++‎ استفاده می کنم حالا میخواه برنامه های که می سازم رو توی visual studio بسازم
1-حالا نمیدنم در چه محیطی در visual این کار رو انجام بدم
2-چه جور کامپایلرش کنم
3-با چه فرمتی ذخیره کنم
4- exe برنامه رو چه جور بسازم
در کل مختصر توضیحی درباره visual studio که بتونم C++‎ رو بنویسم کامپایلر و اجرا کنم

M4st3r_4w4r3
سه شنبه 01 دی 1388, 17:03 عصر
1-حالا نمیدنم در چه محیطی در visual این کار رو انجام بدم

سوالت یکم مبهمه !!!!
new می کنی کدت رو می نویسی دیگه !

-چه جور کامپایلرش کنم

از منوی build گزینه ی compile !

-با چه فرمتی ذخیره کنم

قدیما رسم بود با پسوند .cpp زخیره می کردن ! هنوزم هم قکر کنم باید همینجوری زخیره کنی ... lo0o0o0l.

4- exe برنامه رو چه جور بسازم

کامپایل کنی تو پوشه ی debug فایل .exe ایجاد میشه ...


در کل مختصر توضیحی درباره visual studio که بتونم C++‎‎ رو بنویسم کامپایلر و اجرا کنم
c++ رو کامپایلر کنی ؟! !!!!!!!!
:لبخند:
کدت رو میتونی تو خود محیط visual بنویسی ( با notepad هم بنویسی مشکل نداره ! lo0o0l ) و بعد با پسوند cpp زخیره می کنی ...
بعد از تو ویژوال بازش می کنی و عمل مقدس و مشکل کاپایل رو انجام میدی ... ( به همین سادگی به همین خوش مزگی ! )

موفق باشید

dada_vahid
چهارشنبه 02 دی 1388, 11:48 صبح
ممنونم دوست خوبم ولی چون تازه کار هستم اینارو نمیدونستم
ولی باز مشکلم حل نشد من new میکنم و یه پروژه که مخصوص C++‎ باز میکنم ولی نمیدونم چرا منوی build نداره
ببینید من یک راهنمایی می خوام که نحوه نوشتن یک پروژه تا تبدیل کردن اون به exe رو توضیح بده می دونم سوالات من خیلی مبتدی هستش به هر حال من رو ببخشید:خجالت::خجالت:

mabbaszadegan
چهارشنبه 02 دی 1388, 12:22 عصر
سلام
مرحله 1 :
اول برو اینجا : file > new > project

بعد توی صفحه ای که باز میشه ++visual c رو انتخاب کن ، بعد win32 و بعد win32 consul application بعد ، یه اسم برای پروژه ت انتخاب کن و صفحه رو ok کن ؛
حالا next رو بزن ، توی این صفحه ای که باز شد گزینه Empty project رو تیک بزن و finnish کن؛

مرحله 2:
حالا گزینه add new item رو پیدا کن (احتمالا بالا سمت چپ)
اگه پیدا نکردی از منوی solution روی اسم پروژه راست کلیک کن و add > new item رو بزن
حالا از پنجره باز شده گزینه cpp. رو انتخاب کن ، یه اسم واسش بزار و صفحه رو ok کن


حالا میتونی توی این صفحه کد بزنی

M4st3r_4w4r3
چهارشنبه 02 دی 1388, 17:37 عصر
بعد از اینکه کدهات رو نوشتی با ctrl+F5 هم کامپایل می تونی بکنی !

dada_vahid
چهارشنبه 02 دی 1388, 18:33 عصر
ممنون میرم تستش می کنم ببینم چه جوره

dada_vahid
چهارشنبه 02 دی 1388, 18:46 عصر
این کار هارو کردم ولی فکر کنم یک جای کارم ایراد داره

vcldeveloper
چهارشنبه 02 دی 1388, 23:42 عصر
این کار هارو کردم ولی فکر کنم یک جای کارم ایراد داره
از فایل iostream.h ایراد گرفته. اون header دیگه منسوخ شده هست، باید بجای آن از iostream (بدون پسوند h) استفاده کنید، و بعد از include# هم در خط بعدی بنویسید:

using namespace std;

باید درباره تفاوت های کامپایلر قدیمی مورد استفاده تان با کامپایلر جدیدی که استفاده می کنید، تحقیق کنید.

من با ++C کار نمیکنم که بخوام تفاوت های عمده این دو کامپایلر را برای شما لیست کنم، سایر دوستان که با هر دو کامپایلر کار کردند بهتر می تونند جواب بدند.

dada_vahid
پنج شنبه 03 دی 1388, 00:14 صبح
ممنونم ولی باز مشکل من حل نشد فکر کنم من اگه بخوام اولین برنامه خودم رو با visual studioبنویسم یک سالی طول بکشه

Nima_NF
پنج شنبه 03 دی 1388, 00:18 صبح
تمامی خطاها در منوی های پایین برای شما لیست می شوند.
مثلا در استاندارد 10 سال جدید C++‎‎‎ شما باید در تابع main خود حتما یک مقدار را برگردانید:




int main()
{

return 0;
}

.h را هم حذف کنید.

ضمنا :
-شما اجازه ندارید دستور Include را این طوری در 2 خط بنویسید! در یک خط بنویسید.
- شما حتی اگر main چیزی بر نمی گرداند باید مثل توابع void قبل آن بگذارید. شما استاندارد ها را اصلا رعایت نمی کنید....

کلا مواری که رعایت نکردید همان استاندارد های 10 سال اخیر یا حتی به قبل هستند نه چیز دیگر یا ایراد کامپایلر. باید این موارد را از نمونه مثال های کتاب های جدید مطالعه کنید