الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

X64 & X86 ما المقصود بهم و علاقتمم بالبرمجة و قواعد البيانات

بدأه D.EXPERINSE في 25 فبراير 2008 · 4 رد · 5,539 مشاهدة · في لغة Ms Visual Basic 6 وما قبلها من إصدارات
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

زملائى الأعزاء

تقبلوا تحياتى

فى الحقيقة هناك معلومة مدوخانى ال 7 دوخات اللى فى ا لدنيا

حكاية أن فيه أنظمة تشغيل

X 32

&

X 64

&

X 86

فعند البدء فى عمل داونلوود لقواعد بيانات SQLSERVER 2005

نلاحظ وجود رابطين واحد فيهم يخص X 64 و الثانى يخص الـ X 86

و لا نعرف الفرق بين الاثنين و أيهما نختار و أيهما الأفضل و الأكثر تطورا و يصلح لاستخدامنا فى عمليات التطوير

و نفس الموضوع عند تحميل و استخدام النسخ WINDOWS SERVER 2003

لدرجة أننا تهنا فى الموضوع توهة ما يعلم بيها الا ربنا

و رغم أن هناك أراء تقول أنها اصدارات و آراء تقول أنها مثل الـ SP1 و SP2

لكننا لا نعرف حقيقة الموضوع ....

أيهما نختار ؟؟؟؟؟؟؟

أيهما الأفضل و الأكثر تطورا ؟؟؟؟

أيهما يصلح لاستخدامنا فى عمليات التطوير ؟؟؟؟؟

و هل لهاردوير الكمبيوتر الذى نستخدمه و مواصفاته علاقة بالأمر ؟؟؟؟؟

و هل لسوفتوير الكمبيوتر الذى نستخدمه مثل الويندوز XP و مواصفاته علاقة بالأمر ؟؟؟؟؟

#2

فى انتظار ردودكم .........

#3

لا علاقة للفيجوال بيسك بهذا السؤال بالمناسبة, السؤال عام.

x86 يقصد بها الانظمة التي تعمل ببيئة 32بت.

x64 للانظمة التي تعمل ببيئة 64بت.

برامج x86 تعمل بنسبة 90% على x64

العكس غير صحيح.

Do as I say, not as I do

We are Anonymous. We are Legion. We don't forgive. We don't forget

#4

أخى العزيز / Xacker

تقبل تقديرى لردك على ، و اعتذارى لعدم وضع السؤال فى القسم الصحيح

اقتباس
x86 يقصد بها الانظمة التي تعمل ببيئة 32بت.

x64 للانظمة التي تعمل ببيئة 64بت.

و لكن كيف أستطيع أن أعرف النظام المناسب لى فأنا أعمل على ويندوز XP SP2

و هل هاردوير الكمبيوتر لدى له علاقة بالموضوع ؟؟؟ و لو كان فكيف أعرف النظام المتوافق معى ؟؟؟؟؟؟؟؟؟؟؟

كذلك لو كان أمامى ابطين لتحميل نسخة ويندوز سيرفر 2003 مثلا أحدهما X64

و الرابط الآخر X86 فأيهما أحمل ملفاته ؟؟؟؟ و كيف أعرف أيهما الأنسب للبيئة التى أعمل بها ؟؟؟؟

#5
D.EXPERINSE كتب:
و لكن كيف أستطيع أن أعرف النظام المناسب لى فأنا أعمل على ويندوز XP SP2

و هل هاردوير الكمبيوتر لدى له علاقة بالموضوع ؟؟؟ و لو كان فكيف أعرف النظام المتوافق معى ؟؟؟؟؟؟؟؟؟؟؟

كذلك لو كان أمامى ابطين لتحميل نسخة ويندوز سيرفر 2003 مثلا أحدهما X64

و الرابط الآخر X86 فأيهما أحمل ملفاته ؟؟؟؟ و كيف أعرف أيهما الأنسب للبيئة التى أعمل بها ؟؟؟؟

النظام المناسب لك هو النظام الذي تعمل عليه لغة البرمجة الخاصة بك, هناك عدة حقائق لتذكرها:

  • الفيجوال بيسك لا تستطيع كتابة تطبيقات 64 بت.
  • النظام ذو 32 بت لا يستطيع تشغيل تطبيقات 64 بت.
  • النظام ذو 64 بت يقوم بتشغيل تطبيقات 32 + 64 بت (الـ 32 بت يتم من خلال emulator)

لذلك بشئ من المنطق تخلص الى:

  • برنامجي فيجوال بيسك, ان كان يعمل, فالنظام المحتمل 32 او 64 بت.
  • ان لم يكن يعمل فهذا يعني ان المشكلة في البرنامج ليست في النظام.

كيف نحدد ان كان النظام 32 او 64 بت؟

من خلال دالة IsWow64Process

الدالة لها بارامترين, البارامتر الاول هو مقبض الوظيفة المراد فحصها ان كانت 32 او 64 بت.

المقبض الثاني بارامتر يسترجع قيمة BOOLEAN تكون TRUE او FALSE والشرح ادناه.

في البداية قم بطلب الدالة من ملف kernel32.dll من خلال استدعاء GetProcAddress (الحصول على مقبض يعني ان نظام التشغيل XP وما تلاه) حيث انها غير موجودة على الانظمة السابقة له.

بعد الحصول على المقبض تحتاج الى مقبض البرنامج الذي تقوم بتشغيله (تستطيع الحصول على المقبض الخاص ببرنامجك من خلال وظيفة GetCurrentProcess() التي لا تملك بارامترات, وتعيد المقبض لبرنامجك)

البارامتر الثاني متغير boolean سيحمل احدى قيمتين.

  • ان كانت القيمة المعادة بعد التنفيذ TRUE فتطبيقك يعمل على نظام 64بت.
  • ان كانت FALSE فهو يعمل على 32 بت.

هناك طريقة اخرى من خلال GetSystemInfo وفحص البارامتر wProcessorArchitecture لكن هذه الطريقة ستغدو فاشلة لو تم اضافة processor آخر الى المنتجات الحالية للمعالجات.

الآن, هذه الاجابة نوعا ما بعيدة عما تسأل لانك تسأل معلومات عامة لكن احببت اضافتها في حال تم السؤال عنها لاحقاً.

الاجابة عن اسئلتك بسيطة, هل نظام التشغيل لديك 32 بت؟ اذن تستطيع ان تحمل فقط x86 عليه.

نظام التشغيل لديك 64 بت, تستطيع ان تحمل الاثنين لكن بتوافقية تصل الى 90% فيما يتعلق بـ x86 (السبب؟ لا تعلم ما قد يحدث بعيداً عن عينك ويرفض البرنامج التثبيت).

نظام التشغيل 64 بت يحتاج الى معالجات تدعم 64 بت, مثل AMD athlon 64 او معالجات Itanium الخاصة بـ Intel.

اتمنى ان تكون الاجابة واضحة وشافية.

بالتوفيق

Do as I say, not as I do

We are Anonymous. We are Legion. We don't forgive. We don't forget

مواضيع مشابهة

عدد الزوار حالياً

المتواجدون خلال آخر دقيقتين · يتحدّث كل ٣٠ ثانية

—الإجمالي—أعضاء مسجّلون—زوار بدون تسجيل

جارٍ التحقق من المتواجدين…