مشاهده نسخه کامل
: برنامه نويسي با ++c براي ويندوز
تا آنجا كه من اطلاع دارم ++Visual C با ++C فرق هايي داره.اما آيا كسي كه خود ++C رو بلده مي تونه براي ويندوز برنامه بنويسه؟ لطفا" كامل توضيح دهيد.
سلام دوست عزیز
++Visual C زبان برنامه نویسی نیست
بلکه محیط برنامه نویسی (IDE) است
در ++Visual C شما با زبان ++C برنامه می نویسید دوست من
اگر شما Syntax زبان ++C رو بلد باشی براحتی می تونی توی یکی از محیطهای
++Visual C و C++ Builder در پلتفرم Windows برنامه بنویسی
و صد البته که هر محیطی با توجه به سلیقه سازنده و مدیران اون یک سری لم خاص خودش رو داره که با اولین نه دومین برنامه که بنویسید با اونها آشنا خواهید شد.
برای شروع پس از انتخاب محیط برنامه نویسی شما را به خواندن نمونه برنامه بسیار زیاد توصیه می کنم.
البته ++Visual C که الان نسخه 2008 اون توی بازاره پشتیبانی خیلی خیلی قویتری نسبت به سایر رقبا داره
MSDN که هم بصورت Off Line بر روی سیستم شما نصب میشه و هم بصورت Online به شما کمک و پشتیبانی خوبی می کنه
خود من و سایت خوب و دوست و برادر و خوب CodeProject در خدمت اسلام و مسلمین است . است. و دیگر هیچ است.
يعني براي برنامه نويسي در ++visual Cفقط بايد ++C رو ياد بگيرم؟
mic_makarti
08-07-2008, 17:29
سلام .
نه !!! کی همچین حرفی زده !
برای برنامه نویسی حرفه ای در سیستم عامل باید از api استفاده کنی .
ide ها فقط کار را در بعضی از موارد راحت می کنند تازه اونجا هم بستگی به نیاز باید از api استفاده کنی ...
پس اگه می خوای برای ویندوز برنامه بنویسی برو پهلو عمو msdn !!!
سوال بود در خدمتم
یادم رفت برای شروع بد نیست از این ide های قدرتمند استفاده کنی !
من كه هيچي نفهميدم. من ++c بلد نيستم فقط مي خوام بدونم كه با ياد گرفتن ++c(با كتاب ديتل) مي تونم براي همه ي سيستم عامل ها مخصوصا" ويندوز برنامه بنويسم؟با كدوم IDE؟
آيا ميشه برنامه هايي كه با سي پلاس مينويسيم را از حالت داس در بياريم و به اونا شكل ويندوزي بديم؟
mic_makarti
09-07-2008, 10:53
1- بله با سی پلاس پلاس میشه برای هر سیستم عاملی برنامه نوشت .
2- ide بستگی به سلیقه داره ! مثلا code blocks هم توی ویندوز کار می کنه هم توی لینوکس و ....
3- بله این امکان وجود داره می تونی از api های ویندوز برای برنامه نویسی تحت ویندوز استفاده کنی.
خوب حالا كه ميشه مي تونيد ساده و مبتدي بهم بگيد چه جوري!
mic_makarti
09-07-2008, 14:03
خوب من ویندوز را می گم :
البته فکر کنم بهتره اول بری سراغ یه ide قوی مثل notepad شوخی کردم visual studio یا borland c++ builder خوب بعد مثل یک نرم افزار طراحی فرم برنامه را طراحی میکنید (وقتی نرم افزار را باز کنی می فهمی)! بعد کد نویسی !!!
خوب فکر کنم الان درست چیزی نفهمیدی بهتره اول محیط برنامه را ببینی یکمی بهش ور بری بعد دوباره بپرس تا بگم اینطوری بهتره !!!
borland c محیط کاربر پسندی داره !!!
دوست من داره كتاب ++c ديتل رو مي خونه. يه كتاب ديگه هم راجع به ++visual c ميخونه. بهم گفته كه ++C با ++visual Cفرق ميكنه.
راستي اين api چيه؟
mic_makarti
09-07-2008, 19:00
دوباره اشتباه !!!
سی پلاس پلاس زبان برنامه نویسی است ولی ویژوال سی ide یه !
یعنی چی ؟
ide ها اصولا برای راحت کردن کار برنامه نویس بوجود اومدن و یک سری امکانات در اختیار برنامه نویسی قرار میدن تا نخواد کد زیاد بنویسه (کد بیهوده مثلا برای درست کردن یه دکمه و رویداداش 20 خط کد بنویسه !!!) و روی برنامه اصلی تمرکز کنه !
شما میتونی بدون استفاده از ide خاص برنامه نویسی ویندوز حرفه ای بکنی و با یک کامپایلر سی پلاس پلاس اونا اجرایی کنی
در ویندوز شما با استفاده از api ها راحت هر برنامه ای می تونی بنویسی ! از یه فرم ساده تا یه برنامه حرفه ای !
در مورد ویژوال سی که به نظر من آبروی سی پلاس پلاس را برد !!!(دات نت نه ها !!!) چون واقعا با یک محیط سرد و سخت
حال برنامه نویسا میگیره ! دو چیز وجود داره :
1 - mfc از یک سری کلاسهای تدارک دیده شده توسط ماکروسافت برای برنامه نویسی استفاده می کنه !
2 - win32 برنامه نویسی native است که کامل باید با api ها کار کنی !
اطلاعات بیشتر را از msdn بگیر !
آخرش نگفتيد api چيه. خودم مي دونم Visual يك IDE اه. الان هر چي كه تو كتاب ++C ديتل است تو ++Visual Cجواب مي ده؟در ضمن منظورم از visual visual .netاست.
mic_makarti
09-07-2008, 19:24
کلا هر برنامه ای که توی سیستم عامل مینویسی تحت کنترل اون سیستم عامل هست .
سیستم عامل اجازه ارتباط با سخت افزار را به طور مستقیم به برنامه ها نمیده برای ارتباط باید از api استفاده کنی .
با api شما به سیستم عامل میگی برای من مثلا یه فرم درست کن یه دکمه بزار روش . یا مثلا میگی آقای سیستم عمل موس کجاست یا برای من پورت x را باز کن و غیره ... پس کلا هرکاری بخوای بکنی از api باید باید و باید استفاده کنی !!!
ide ها هم همین کارا میکنند ولی از دید برنامه نویس مخفیه که در گیر کارای حاشیه ای نشه !
IDE هست كه مثل visual studio باشه (هر چي كه تو visual studio هست تو اين هم باشه) و بشه باهاش برنامه براي همه ي سيستم عامل ها نوشت؟
كتاب ++C ديتل ++Visual Cه يا خود ++C ؟اگه Visual نيست يه كتاب خوب (حدالامكان) از ديتل معرفي كنيد.
Mehrdad-bx
11-07-2008, 13:41
درباره کتاب تو تاپیک مجموعه کتاب های خانواده C کلی کتاب درباره ++Visual C هست، من خودم آموزش ویژوال سی ++ در 21 روز رو دارم کتاب خوبیه(البته دانلود نکردم، خریدم). چند تا کتاب هم از دیتل هست. اگه درکتاب نزده که ویژوال یا نه 100% خود سی++ هست. چون کتاباشون زمین تا آسمون فرق داره با هم(درکتاب های ویژوال سی ++ خود سی ++ رو نمیگن(آموزش از صفر)، بلکه مسائل تخصصی ویژوال و برنامه نویسی ویندوز و کار با MFC و... رو میگن، با فرض اینکه خواننده for و if و استفاده از کتابخانه و اینجور مسائل رو بلد باشه)
پس اول بايد خود ++C رو ياد بگيرم بعد visual.
Mehrdad-bx
12-07-2008, 12:31
تقریبا، اصولشو باید بلد باشی(البته کتابی که گفتم من داشتم یه ضمیمه برای تازه کار ها داشت که مبانی و مباحث ابتدایی رو گفته بود)
IDE هست كه مثل visual studio باشه (هر چي كه تو visual studio هست تو اين هم باشه) و بشه باهاش برنامه براي همه ي سيستم عامل ها نوشت؟
همچنين چيزي وجود داره يا نه؟
mic_makarti
12-07-2008, 16:29
به قدرت visual studio نه !!!
اما ide های cross platform هست که توی ویندوز و مثلا لینوکس کارکنه مثل code blocks .
دوست گلم من تو پست قبلیم فرق اونا رو بهت گفتم
اینکه می خوای ++C رو یاد بگیری خیلی خوبه و انگیزشو داری
کتاب دیتل اند دیتل هم خوبه
کتاب آقای رابرت لیفورد هم خوبه
برنامه های نوشته شده تحت ذاس رو دوستمون پرسیده بودن میشه تو ویندوز استفاده کرد
در جوابشون می گم میشه به شرطی که کنسول اونو مشخص کنی که کنسول داس باشه یا از پنجره های ویندوز استفاده می کنی
الگوریتم همیشه ثابته
روش پیاده سازی و بستر پیاده سازی فرق می کنه
الان هزار جور کامپایلر و محیط برنامه نویسی هست از همشون می تونی استفاده کنی
اینکه من دوتاشو معرفی کردم واسه اینه که راحتتر بدست میان
(API(Application Programming Interface رابط بین برنامه و سیستم عامله
یعنی کارهایی رو که تو می خوای انجام بدی رو واست انجام می ده با کمک گرفتن و ارتباط با سیستم عامل
مثلا شما می خوای یه فایل باز کنی توش یه سری داده و یا اطلاعات بریزی و بعد ببندیش
اینجا از api های مربوط به فایل استفاده می کنی و از توابعی که دز اختیارت می زاره استفاده می کنی
در همه موارد دیگه همینطوره اگه من از فایل مثال زدم واسه راحت متوجه شدن شماست هزار تا کار دیگه هم همینطوره
باز ما در خدمتیم
من يكIDE مي خوام كه اگه++Visual C رو ياد بگيرم بتونم با اين IDE واسه همه ي سيستم عامل ها برنامه بنويسم.
سلام
مطلبی که mic_makarti دادن را اگه میخوندین به جوابی که می خواستین میرسیدین
برای برنامه نویسی همه سیستم عامل ها که cross platform میگن یکسری محیط و کتابخانه ها هست
که میتونید استفاده کنید مثل QT و wxWidgetsL من تجربه این کارو ندارم ولی دراین زیمنه کتابهای مختلفی وجود داره
برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
شاد باشید
اگه Cross Platform می خوای برنامه بنویسی من نوشتم
من با Qt کار کردم تو اکثر موارد بجز سخت افزار کدی که واسه ویندوز می نویسی تو بقیه سیستم عاملها مثل لینوکس هم کار می کنه
بدون هیچ تغییر
البته تو موارد زیادی هم تغییر لازمه مثل درایور ها و کار با سخت افزار
Qt یه سری کتابخونه رو روی++ Visual C نصب می کنه
تو لینوکس هم معمولا نصب هست
برنامه ای که می نویسی باید تو تمام موارد از امکانات این کتابخونه استفاده کنی
اونوقت اون کد می تونه بدون تغییر تو چند سیستم عامل اجرا بشه
کتابهای رایگان که خیلی داره
نسخه Open source رایگان هم داره که از eMule عزیز واسه دانلود آخرین نسخش میشه استفاده کرد
mic_makarti
14-07-2008, 13:31
سلام فرمایش دوستان کاملا درسته !
میشه گفت ما برنامه کاملا cross platform نداریم حتی java!!!
اینها همه به یکسری از کتابخانه ها و ... وابسته هستند که میشه با اونها اکثر برنامه های کاربردی را نوشت .
موفق باشی ....
rz_assar
18-07-2008, 01:08
سلام
دوست من api يه سري تابع هست كه توسط شركت مايكروسافت (و دوستان) تهيه شده و داخل فايلهايي با پسوند api قرار گرفته و اگه يه سرچي تو كامپيوترت بكني هزارتاشو واست پيدا ميكنه . كار اين توابع راحت كردن كار توه (-: به عبارت بهتر وقتي ميخاي يه كاري تو ويندوز انجام بدي به اين توابع ميگي اونا خودشون كار بلدن و كاراتو راه ميندازند . مثلا اگه خاستي يه فايلي رو كپي كني يه تابع خاص از يكي از فايلاي api رو صدا ميزني و ميگي كه فلان فايل رو كجا كپي كنه و اون همه كارا رو انجام ميده . به همين سادگي
اما اگه راستشو بخاي يباره نرو تو مايه ويندوز . اين 3 ماهو با همون c++ سرو كله بزن بحث شي گرايي كه تموم شد شيرجه بزن تو ويندوز
اينجوري راه ميوفتي
مخفف باشيد
amsjavan
19-07-2008, 11:13
حالا اگه بخوای از این api ها استفاده کنی باید چی کار کنی؟ مگه نباید به صورت header فایل باشند؟
آره درسته
اونا توی یه سری header file معرفی شده اند
و یه سری کتابخانه استاندارد دارند lib.
که بعد از لینک شدن با برنامه شما
از کتابخانه های اصلی داخل سیستم عامل استفاده می کنند
در سیستم عامل ویندوز dll
توی لینوکس ko. و چند چیز دیگه
مثال:
برای باز و بسته کردن در CDROM بایستی از تابع DeviceIoControl
استفاده کنی
برای اینکار از اینinclude<winioctl.h>
header فایل استفاده می کنیم
amsjavan
20-07-2008, 21:50
آره درسته
اونا توی یه سری header file معرفی شده اند
و یه سری کتابخانه استاندارد دارند lib.
که بعد از لینک شدن با برنامه شما
از کتابخانه های اصلی داخل سیستم عامل استفاده می کنند
در سیستم عامل ویندوز dll
توی لینوکس ko. و چند چیز دیگه
مثال:
برای باز و بسته کردن در CDROM بایستی از تابع DeviceIoControl
استفاده کنی
برای اینکار از اینinclude<winioctl.h>
header فایل استفاده می کنیم
این header file ها توی windows وجود داره یا باید دانلود کنیم؟ توی لینوکس هم api هست؟
حالا اگر api نبود چه جوری باید CDROM رو باز می کردیم؟ در واقع api فقط یک سری توابع و کلاس هست؟
سلام
نه این header فایل ها توی ویندوز نیست
اینها قسمتی از فایلهای محیط IDE مثل ++Visual C هستند معمولا توی دایرکتوری Include
اگه مثلا ++Visual C رو نصب کنید این فایلها هم همراه برنامه نصب میشن
اگر API نباشه شما نمی تونید در CDROM را باز کنی. توابع API هستند که کارهای شما رو در ارتباط با سخت اقزار انجام می دن
هونطور که دوستان اشاره کردند( API (Application Programming Interface رابط بین برنامه و سخت افزار یا برنامه های دیگه هستند که از یکسری تابع تشکیل شده اند. این توابع رو کسی که API رو ارائه میده کاملا برای برنامه نویس معرفی می کنه حتی المقدور یه مثال هم براش میاره.
توی لینوکس هم API مثل تمام سیستم عاملهای دیگه هست
vBulletin , Copyright ©2000-2025, Jelsoft Enterprises Ltd.