PDA

View Full Version : سوال: آیا نوشتن برنامه برای سیستم عامل های 32 بیتی و 64 بیتی با هم فرق داره ؟



SianiD
یک شنبه 28 فروردین 1390, 19:48 عصر
سلام دوستان
من یه برنامه ای رو با سیستم عامل خودم که 32 بیتی است نوشتم . حالا میخواستم بدونم که اگر این برنامه رو روی سیستم های 64 بیتی نصب کنم مشکل پیدا میکنه ؟

SianiD
یک شنبه 28 فروردین 1390, 20:10 عصر
مرسی از این همه هجوم برای راهنمایی :لبخند:

unknown.unforgiven
یک شنبه 28 فروردین 1390, 21:27 عصر
سلام دوستان
من یه برنامه ای رو با سیستم عامل خودم که 32 بیتی است نوشتم . حالا میخواستم بدونم که اگر این برنامه رو روی سیستم های 64 بیتی نصب کنم مشکل پیدا میکنه ؟

سلام
تا اونجایی که من خبر دارم هیچ مشکلی ایجاد نمیشه. البته در حین نوشتن میتونی از بخش Properties->Build نوع پلتفرم رو تعیین بکنی

SianiD
دوشنبه 29 فروردین 1390, 01:10 صبح
سلام
تا اونجایی که من خبر دارم هیچ مشکلی ایجاد نمیشه. البته در حین نوشتن میتونی از بخش Properties->Build نوع پلتفرم رو تعیین بکنی

خوب من میخوام که رو هر دو صورت جواب بده باید چیکار کنم ؟

hassan_kahrizy
دوشنبه 29 فروردین 1390, 13:10 عصر
بسمه تعالی
سلام
اینظوری نیست که همیشه جواب بده
برخی اوقات دچار مشکل می شه بخصوص اگر کامپوننت یا کنترلی استفاده کنید که تو 64 بیتی جواب نده و برخی اوقات تو ویندوز 7 ،64 بیتی دچار مشکل شدم
توصیه می کنم تو مد 32 بیتی از پروژتون خروجی بگیرید

SianiD
سه شنبه 30 فروردین 1390, 21:39 عصر
بسمه تعالی
سلام
اینظوری نیست که همیشه جواب بده
برخی اوقات دچار مشکل می شه بخصوص اگر کامپوننت یا کنترلی استفاده کنید که تو 64 بیتی جواب نده و برخی اوقات تو ویندوز 7 ،64 بیتی دچار مشکل شدم
توصیه می کنم تو مد 32 بیتی از پروژتون خروجی بگیرید
آخه من اگه بخوام بصورت کلی برنامم رو تکثیر کنم باید جوری باشه که جواب بده رو هر دو حالت صد در صد باید راهی باشه ؟ به نظر شما اینطور نیست ؟

hassan_kahrizy
سه شنبه 30 فروردین 1390, 22:14 عصر
بسمه تعالی
سلام
دوست عزیز اگر شما خروجی 32 بیتی بگیرید روی همه سیستم ها اجرا می شه چه 32 بیتی چه 64 بیتی

unknown.unforgiven
سه شنبه 30 فروردین 1390, 22:22 عصر
البته با توجه به اطلاعاتی که من دارم نرم افزارای 64 بیتی روی 32 بیتی هم اجرا میشن

Directx
سه شنبه 30 فروردین 1390, 23:24 عصر
دوست عزیز دقیقا برعکس گفتید برنامه ها ی 32 بیتی رو سیستم های 64 بیتی نصب و به طور کامل اجرا می شن ولی برعکس اون برقرار نیست

shadi khanum
چهارشنبه 31 فروردین 1390, 00:43 صبح
نه همه 32 بیتی ها روی 64 بیتی ها جواب میدن و نه برعکس :) اکثر برنامه ها جواب میده ولی نه همه. بستگی به کامپوننتا یا کنترلایی داره که از جایی آوردین و توی برنامه استفاده میکنید.. مثلا من خودم این مشکل رو در مورد یه کامپوننت Crystall Report داشتم که DLL واسه 64 و 32 بیتیش با هم کارکردشون فرق داشت و من هر دو رو تو برنامم گذاشتم و موقع نیاز به استفاده ازش چک میکردم اگه سیستم مشتری 64 بیتی یه تابع اجرا شه و اگه 32 بیتی یه تابع دیگه.. اصولا این مشکلا کمه ولی بالاخره پیش میاد

hassan_kahrizy
چهارشنبه 31 فروردین 1390, 00:48 صبح
بسمه تعالی
سلام
دوست عزیز بنده تو چند تا محصولم دچار چنین مشکلی شدم و اینطوری حلش کردم
فقط بدیش اینه که برنامه شما نمی تونه از توانایی های 664 بیتی استفاده کنه

amirsadeghi
چهارشنبه 31 فروردین 1390, 01:03 صبح
در حالت عادی اگه فقط از کامپوننت های استاندارد خود دات نت استفاده کنین و خروجی پروژه رو 32 بیتی بگیرین میشه گفت توی 64 بیتی هم کار میکنه
ولی اگه از کامپوننت خاص یا کد هایی که مخصوص سیستم 64 بیتی باشن استفاده کنین دیگه این حالت برقرار نیست و ممکنه بنا به هر errorی برنامه بسته بشه!

nanosoftco
چهارشنبه 31 فروردین 1390, 18:21 عصر
سلام , دوستان درسته که شما قادر هستین حالت پلتفرم رو تغییر بدین یه صورت های x64 و x86 ولی این فقط حالت پشتیبانی از سیستم های 32 و 64 بیتی رو حل میکنه مسئله مهم برنامه نویسی و مقادیر دهی در حالت های 32 و 64 بیتی هستش . در کل اگر بخوایید با عوض کردن نوع پلت فرم رویه سرعت اجراء برنامه تاثیر گذار باشید به اطمینان کامل میگم کاره اضافه ای انجام دادین اگر میخواهید برنامه شما در سیستم های 32 و 64 بیتی بدون مشکل اجراء بشه پلت فرم رو رویه AnyCPU ست کنید و حالت BugMode رو Disable کنید :) در این صورت برنامتون در هر نسخه از سیستم در حالت اصلی خود اجراء خواهد شد.

hassan_kahrizy
چهارشنبه 31 فروردین 1390, 21:38 عصر
سلام , دوستان درسته که شما قادر هستین حالت پلتفرم رو تغییر بدین یه صورت های x64 و x86 ولی این فقط حالت پشتیبانی از سیستم های 32 و 64 بیتی رو حل میکنه مسئله مهم برنامه نویسی و مقادیر دهی در حالت های 32 و 64 بیتی هستش . در کل اگر بخوایید با عوض کردن نوع پلت فرم رویه سرعت اجراء برنامه تاثیر گذار باشید به اطمینان کامل میگم کاره اضافه ای انجام دادین اگر میخواهید برنامه شما در سیستم های 32 و 64 بیتی بدون مشکل اجراء بشه پلت فرم رو رویه AnyCPU ست کنید و حالت BugMode رو Disable کنید :) در این صورت برنامتون در هر نسخه از سیستم در حالت اصلی خود اجراء خواهد شد.

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

nanosoftco
چهارشنبه 31 فروردین 1390, 21:54 عصر
خب مشکل شما چی هست میتونم کمکتون کنم ؟ در صورتی که توضیحات بیشتر بخوایین در انجمن های خودم بیشتر میتونم توضیح بدم :)


Www.forums.nanosoftco.com
http://www.nanosoftco.com/communities/forums/fa-IR

vcldeveloper
پنج شنبه 01 اردیبهشت 1390, 02:06 صبح
Everything You Need To Know To Start Programming 64-Bit Windows Systems (http://msdn.microsoft.com/en-us/magazine/cc300794.aspx)

SianiD
پنج شنبه 01 اردیبهشت 1390, 14:26 عصر
دوستان من برنامه خودمو رو 64 بیتی امتحان کردم جواب داد . ولی امیدوارم همیشه جواب بده :لبخند: