View Full Version : آیا ویژوال سی پلاس پلاس از دات نت فریم ورک استفاده میکند؟
me.enik
شنبه 29 تیر 1392, 23:18 عصر
سلام.
میخواستم بدونم آیا پروژه های سی پلاس پلاسی که با ویژوال استدیو ساخته میشوند, برای اجرا شدن به دات نت فریم ورک احتیاج دارند یا این پروژه ها از دات نت فریم ورک استفاده میکنند؟
خودم حدس میزنم اینطور نباشه. اما زمانی که بخوای درون ویژوال استدیو پروژه ای ایجاد کنی, آن جایی که نوع پروژه رو انتخاب میکنیم, یعنی انتخاب میکنیم که مثلا mfc باشه یا win32, در آنجا میتونی ورژن فریم ورک را انتخاب کنی.
مصطفی ساتکی
یک شنبه 30 تیر 1392, 00:33 صبح
شما تو visual studio تو سه حالت می تونید کد نویسی کنید.
1- CLR که در واقع در این حالت از .net فریمورک استفاده می کنید و قاعدتاً در سیستم مقصد بایستی فریمورک رو انتقال بدید.
2- MFC/ATL که شما با کتابخانه mfc می نویسید و به .net فریمورک نیازی ندارید و فقط بایستی mfc library رو تو سیستم مقصد کپی کنید.
3-WIN32 که در این حالت application شما خیلی حجمش کم هستش و نیازی به هیچ کتابخانه جانبی نداره بجز اینکه شما خودتون آنها را به app اضافه کنید.
me.enik
یک شنبه 30 تیر 1392, 12:38 عصر
ممنون از جوابتون. حالا یک سوال دیگه.
در حالتی که از .net استفاده میشود, امکان کراس پلتفرم بودن وجود داره. به این صورت که .net مربوط به آن سیستم عامل را نصب میکنی و ... .
در حالتی هم که از mfc استفاده میشود, احتمالا با همراه بودن کتابخانه mfc میشود قابلیت کراس پلتفرم بودن را به نرم افزار اضافه کرد.
اما برای win32 چطور؟ یعنی win32 فقط مخصوص ویندوز هستش؟ و نکته دیگر که روی تمام نسخه های ویندوز جوابگو هستش؟
saied_hacker
یک شنبه 30 تیر 1392, 18:46 عصر
ممنون از جوابتون. حالا یک سوال دیگه.
در حالتی که از .net استفاده میشود, امکان کراس پلتفرم بودن وجود داره. به این صورت که .net مربوط به آن سیستم عامل را نصب میکنی و ... .
در حالتی هم که از mfc استفاده میشود, احتمالا با همراه بودن کتابخانه mfc میشود قابلیت کراس پلتفرم بودن را به نرم افزار اضافه کرد.
اما برای win32 چطور؟ یعنی win32 فقط مخصوص ویندوز هستش؟ و نکته دیگر که روی تمام نسخه های ویندوز جوابگو هستش؟
.net مگه روی چه سیستم عامل های دیگه ای در دسترس هست ؟ هیچی بجز خود ویندوز xp تا 8.... اصولا .net فقط برای افزایش سرعت و راحتی و امنیت توسعه برنامه های برای ویندوز به وجود اومده نه مالتی پلتفرم بودن برنامه ها مثل جاوا و ....
هم mfc و هم win32 مختص ویندوز هست .... و از ویندوز nt به بالا ( mfc از 95 ) در دسترس هست فقط توی هر نسخه متد ها و... جدیدی اضافه شده که و اگه از اونها استفاده کنید ( باتوجه به پیشرفت خود ویندوز و امکانات جدیدی که توی هر نسخه اون معرفی شده) در نسخه های پایین تر ویندوز امکان اجرای برنامه وجود نداره....
حامد مصافی
یک شنبه 30 تیر 1392, 19:39 عصر
دات نت برای استاندارد بودن بوجود اومده. شرکت ناول در قالب پروژهای با نام مونو (http://www.mono-project.com/) یک پیاده سازی از داتنت روی لینوکس، ویندوز و مک ارائه داد. قسمتی از این پروژه که به زمرین (xamarin.com) واگذار شد امکان برنامهنویسی روی اندروید و ios رو فراهم کرده.
me.enik
یک شنبه 30 تیر 1392, 22:44 عصر
ممنون بابت جواب ها.
اما من جواب سوالم را نگرفتم. مثلا توی dev که یک پروژه میسازیم, وقتی فایل .cpp را به لینوکس منتقل کنیم و آن را آنجا کامپایل کنیم, میتوان نتیجه را مشاهده کرد, بدون هیچ مشکلی. یعنی با یک کامپایل ساده, برنامه به راحتی شروع به کار میکنه.
حالا اگر بخواهیم همین کار رو درون ویژوال استدیو انجام بدهیم, باید چه نوع پروژه ای بسازیم؟ فکر میکنم win32 console application جواب بده.
saied_hacker
دوشنبه 31 تیر 1392, 09:03 صبح
دات نت برای استاندارد بودن بوجود اومده. شرکت ناول در قالب پروژهای با نام مونو (http://www.mono-project.com/) یک پیاده سازی از داتنت روی لینوکس، ویندوز و مک ارائه داد. قسمتی از این پروژه که به زمرین (xamarin.com) واگذار شد امکان برنامهنویسی روی اندروید و ios رو فراهم کرده.
اصلا حواسم نبود ؛ تا همین چند وقت پیش MonoDroid رو vs نصب بود ... :لبخندساده:
-----------------------------------------------------
شمااگه از win32 و mfc استفاده نکرده باشی و فقط برنامه های ساده نوشته باشی ( استفاده از دستورات و هدر فایل های استاندارد خود C++ نه ویندوز/win32 ) خیر هیچ مشکلی نیست به راحتی قابل انتقال هست...
اما اگه از api های ویندوز (win32/mfc) استفاده کرده باشی به دلیل این که اینها مال پلتفرم ویندوز هست خیر امکانش نیست.
شما باید برای این که کدتون در هر دو سیستم عامل اجرا بشه :
1- نکته بالا رو رعایت کنید
2- نوع پروژه رو Empty Project انتخاب کنید و بعد از ایجاد از قسمت solution explorer روی source کلیک راست کنید و یک C++ File اضافه کنید و دستورات خودتون رو بنویسید ...
vBulletin® v4.2.5, Copyright ©2000-1404, Jelsoft Enterprises Ltd.