تخطي إلى المحتوى الرئيسي
تنزيل

Capability map

تم شرح كل ميزة رئيسية لفئة MinGW لفرق الشحن

بدءًا من الواجهات الأمامية للمترجم وحتى تفاصيل الارتباط Windows، تجمع هذه الصفحة نقاط القوة التي يستشهد بها الأشخاص عندما يعتمدون سلسلة أدوات Windows موجهة Windows بدلاً من إعادة كتابة نظام البناء بأكمله.

Screenshots

These assets live in the media المجلد وإظهار تجربة مدير التثبيت MinGW الكلاسيكية على Windows. انقر فوق أي صورة لفتح معاينة أكبر.

MinGW Installation Manager Setup Tool window showing mingw-get version, copyright, license summary, and Install button
Setup tool welcome (PNG)
MinGW Installation Manager Setup Tool optimized WebP export of the welcome screen
نفس المشهد مثل WebP لتحميل الصفحات بشكل أسرع
Second MinGW toolchain screenshot on Windows
Capture 2 (WebP)
Third MinGW toolchain screenshot on Windows
Capture 3 (WebP)

Deep compilation coverage

تركز توزيعات MinGW على GCC، مجموعة المترجمات GNU، والتي تم تكييفها لإصدار ملفات كائنات Windows الأصلية واستخدام رابط GNU أو البدائل المتوافقة. يمكنك الاحتفاظ بالعلامات المألوفة للتحسين واختيار المعايير وسياسة التحذير أثناء استهداف Win32 ABI.

وهذا مهم عندما يفترض مستودعك بالفعل امتدادات GNU في البرامج النصية، أو عندما تقوم بالتجميع من Linux باستخدام ثلاثة توائم مماثلة، أو عندما تقوم بتدريس لغة C وC++ باستخدام نموذج عقلي واحد عبر الأنظمة الأساسية.

  • •تشخيصات متسقة عبر أجهزة المطورين ووكلاء CI.
  • •تتوافق أهداف التوافق الثنائي مع توقعات وقت التشغيل MSVC التي تختارها في وقت الارتباط.
  • •دعم مراجعات اللغة الحديثة عند تحديد فرع وأعلام GCC الصحيحة.
Read flag hygiene in guides
MinGW dark header artwork used as a visual panel MinGW Installation Manager Setup Tool welcome dialog

عمل فني متجه بالإضافة إلى لقطة إعداد حقيقية من مجموعة الوسائط.

MinGW alternate logo for features section

Windows رؤوس API ومكتبات الاستيراد

تشحن إصدارات نمط Mingw-w64 أكثر من مليون سطر من الرؤوس، دون احتساب الواجهات التي تم إنشاؤها، وتستمر في التوسع مع ظهور واجهات برمجة التطبيقات Windows الجديدة. تصف مكتبات الاستيراد كيفية ربط ملفات الكائنات الخاصة بك بمكتبات DLL الخاصة بالنظام في وقت الارتباط.

What this unlocks in practice

يمكنك استدعاء خدمات Win32، وواجهات برمجة تطبيقات تكوين سطح المكتب، ومكدسات الشبكات، وواجهات الوسائط المتعددة مع البقاء داخل قصة المترجم التي يفهمها فريقك بالفعل. يتم تمييز رؤوس الرياضيات المطابقة بشكل أفضل بشكل متكرر عند ترحيل التعليمات البرمجية الرقمية من سلاسل الأدوات الأخرى.

حل مفاجآت الربط الشائعة

المرافق التي تحترم Windows حقائق التعبئة والتغليف

gendef

قم بإنشاء ملفات تعريف الوحدة النمطية المتوافقة مع Visual Studio من عمليات تصدير DLL التعسفية حتى تتمكن من دمج ثنائيات الطرف الثالث في خطوة الارتباط الخاصة بك دون التخمين.

genidl

قم بإنتاج عناصر لغة تعريف الواجهة المستمدة من الثنائيات الموجودة عندما تحتاج إلى إعادة إنشاء معلومات النوع لخطوط أنابيب الأدوات.

widl

قم بتجميع IDL في بذرة ورؤوس حتى تتمكن المشاريع الثقيلة RPC وCOM من البقاء داخل سلاسل الأدوات المفتوحة لمزيد من سير العمل الخاص بها.

تعد هذه الأدوات المساعدة جزءًا من سبب وصف mingw-w64 بأنها أكثر من مجرد رؤوس: فهي تقوم بتشغيل مهام التكامل اليومية التي تتطلب معالجات IDE خاصة.

خطوة من خلال سير عمل المرافق

Threading with winpthreads

Winpthreads يطبق pthreads أعلى Win32 أساسيات الترابط. وهذا يعني أن ميزات ترابط C++11 وأمثلة ترابط نمط POSIX تصبح سهلة الاستخدام دون فرض طبقة محاكاة POSIX كاملة في كل ثنائي تقوم بشحنه.

When teams reach for it

المكتبات التي افترضت تاريخيًا pthread_mutex_t أو pthread_join لديها الآن مسار ترحيل إلى التسليم Windows الأصلي. ادمج هذا مع علامات البناء المنضبطة لتجنب خلط نماذج ترابط وقت التشغيل المتعددة في عملية واحدة.

Threading checklist
  • يتم تعيين أنماط كائن المزامنة القياسية ومتغيرات الحالة إلى مكالمات Win32 التي تم اختبارها جيدًا.
  • تساعد المواد التعليمية التي تدرس pthreads أولاً وWindows ثانيًا.
  • يتطلب الوعي بخيارات الارتباط الثابتة مقابل الارتباطات الديناميكية للمكتبات المساعدة لوقت التشغيل.

مكتبات الرياضيات والمطابقة

يعتمد الرمز الرقمي غالبًا على الاختلافات الدقيقة بين رؤوس الرياضيات وتوافر التجميع المضمن وسلوك الخطأ. تستدعي وثائق Mingw-w64 دعمًا محسنًا للرياضيات مقارنة بالمجموعات القديمة من Windows فقط، مما يقلل من المفاجأة عند نقل المكتبات العلمية.

Operational guidance

قم بتثبيت إصدارات المترجم، وقم بتشغيل مجموعة الانحدار الخاصة بك على أهداف 32 بت و64 بت إذا قمت بشحن كليهما، وتعامل مع تحذيرات السلوك غير المحددة على محمل الجد لأن مستويات التحسين ستكشف الافتراضات الكامنة.

Numerics migration notes

Ecosystem extensibility

MinGW نادرًا ما يتواجد مترجمو الفئة بشكل منفصل. إنها تقترن ببيئات Shell ومديري الحزم والمكتبات الاختيارية التي تعمل على توسيع سلسلة الأدوات الأساسية. فكر في القابلية للتوسعة باعتبارها القدرة على إنشاء مكتبات gdb وmake وcmake ومكتبات الطرف الثالث أعلى بادئة gcc مستقرة بدلاً من IDE متجانس واحد.

Composable prefixes

قم بتثبيت سلاسل أدوات متعددة تحت جذور مختلفة، ثم قم بتثبيت أنظمة البناء باستخدام CMAKE_PREFIX_PATH أو أغلفة مشغلات المترجم حتى لا تؤدي التجارب إلى زعزعة استقرار الإنتاج.

Automation friendly archives

تتكامل التنزيلات المكتوبة والتحقق من المجموع الاختباري بشكل نظيف مع إدارة التكوين مقارنةً بعمليات تثبيت واجهة المستخدم الرسومية غير الشفافة فقط.