En  Fa
درحال مشاهده: مقالات  > سکوهای نرم افزاری  > dotNET Framework  > تشخصی سیستم های 64 بیتی و 32 بیتی
 
 

دسته بندی مقالات

 

 

دسته بندی سوالات

 



 

تشخصی سیستم های 64 بیتی و 32 بیتی

   

تشخصی سیستم های 64 بیتی و 32 بیتی

استفاده از IntPtr

این نوع برای نگهداری اشاره گرها در دات نت مورد استفاده قرار می گیرد. از اونجایی که اندازه اشاره گرها در سیستم ها 64 بیتی از سیستم ها 32 بیتی متفاوت است می توانیم از این روش برای تشخیص 64 بیتی بودن سیستم استفاده کنیم. در صورتی که سیستم 64 بیتی اندازه IntPtr برابر 8 و در سیستم ها 32 بیتی برابر 4 خواهد بود.

توضیح اضافه اینکه این روش کاملا مطمئن است و حتی بر روی Mono و در سایر سیستم عاملها مانند لینوکس و Mac نیز به درستی کار خواهد کرد.

کد #C

if(IntPtr.Size == 8) 
{
	// 64 bit machine
} 
else if(IntPtr.Size == 4) 
{
	// 32 bit machine
}

کد VB.NET

If IntPtr.Size = 8 Then

	' 64 bit machine

ElseIf IntPtr.Size = 4 Then

	' 32 bit machine

End If

سایر روش ها

روش دیگر بررسی وجود شاخه ProgramFiles(x86) هست که فقط در ویندوز ها 64 بیتی وجود دارد و محل قرار گیری برنامه های 32 بیتی هست. این روش توصیه نمی شود ولی با این حال قابل استفاده است.

public bool Is64bitOS
{
    get { return (Environment.GetEnvironmentVariable("ProgramFiles(x86)") != null); }
}

public string ProgramFilesX86
{
    get
    {
        string programFiles = Environment.GetEnvironmentVariable("ProgramFiles(x86)");
        if (programFiles == null)
        {
            programFiles = Environment.GetEnvironmentVariable("ProgramFiles");
        }

        return programFiles;
    }
}

مقدار Is64bitOS این بررسی را برای ما انجام داده و مشخص می کند.

روش دیگری که مطمئن است استفاده از تابع سیستم GetNativeSystemInfo هست که جزو توابع API ویندوز هست که با توجه به این که نیاز به استفاده از PInvode دارد زیاد توصیه نمی شود. اطلاعات بیشتر را در اینجا مطالعه کنید.

جزئـیات تاپيک
      
نویسنده: Salar Khalilzadeh
تاریخ ارسال: 1388/01/08 11:34 AM
تعداد مشاهده: 1344
تعداد آرا: 3
امتیاز آرا:   از 3.33 امتیاز

رای شما به این مطلب:

bookmark this
 

هیچ نظری برای این مطلب ارسال نشده است.
زبان سایت:

Copyright © 2009 SoftProjects.org | About | Valid XHTML | CSS