با درود و خسته نباشید
میخواستم بدونم برای توسعه ی نرم افزار 64 بیتی باید چکاری انجام داد؟
تنظیمات یا کد خاصی داره؟
تنظیمی که داره اینه که باید پروژه تون رو در ویژوال استدیو باز کنید، در منوی Project ویژوال استدیو آخر لیست منو یک گزینه داره مثل ...projectName Properties که projectName اسم پروژه شما است.
اون گزینه رو انتخاب کنید. زبانه Build رو از سمت چپ پنجره انتخاب کنید. بالا پنجره یک گزینه Platform هست که کاری با اون ندارید، پایین تر یک گزینه هست به نام Platform target که
مقدار پیشفرض اش Any CPU ئه و بجز اون مقدار می تونه x86 یا x64 باشه. روی x64 قرارش بدهید. دفعه بعدی که برنامه تون Build بشه نسخه 64 بیتی اش ساخته میشه.
بعد از عوض کردن تنظیم باید برنامه مجدد کامپایل و ساخته بشه، در منوی Build گزینه Rebuild مناسب اینکار ئه.
اگه برنامه تون درگیر ارتباط با کتابخانه های خارج از برنامه نباشه همین یک گزینه برای توسعه نرم افزار 64 بیتی کفایت می کنه.
ربطی به int64 یا int32 که در برنامه نویسی برای مقادیر ورودی و خروجی که استفاده می کنیم داره؟
اگه بخواهید فرضا با یک کتابخانه DLL بیرون از برنامه تون ارتباط برقرار کنید، احتمال داره که داشته باشه، نه الزاما. در برنامه های 64 بیتی آدرس های حافظه و اشاره گر ها 64 بیتی اند، مثلا آرایه ها، رشته ها و ...
هر چیزی که به نوعی با آدرس حافظه در ارتباطه 64 بیتی میشه، وگرنه سایر مقادیر ورودی و خروجی الزاما فرقی نمی کنند، باید به مستندات اون کتابخانه ای که ازش استفاده می کنید رجوع کنید.
پس اگه یک مقدار اشاره گری رو در نرم افزار 32 بیتی درون int32 ذخیره کرده بودید ( که بهتر بود از IntPtr استفاده می کردید که مخصوص اشاره گر ها است) در نرم افزار 64 بیتی باید از Int64 استفاده کنید.
از این جهت IntPtr بهتره که در برنامه 32 بیتی خودش خودکار 32 بیتی و در برنامه 64 بیتی خودکار 64 بیتی میشه.
اصلا میشه از int64 استفاده کنیم و برنامه 32 بیتی باشه؟
با سپاس فراوان
صد البته، چون Int64 الزاما برای نرم افزار های 64 بیتی نیست و هر زمانی بخواهید از محدوده اعداد 32 بیتی خارج شوید یک گزینه تون Int64 ئه که البته اسم دیگرش long ئه. مثلا اندازه فایل رو اصولا در Int64 نگه می دارند، نه Int32 ، چون برای فایل های بزرگتر از 2 گیگابایت به مشکل بر می خوره. اگه تا حالا از System.IO.FileInfo استفاده کرده باشید می بینید که طول فایل (Length) رو با long / Int64 بر می گردونه.