سؤال

لقد سمعت أنه قد تكون فكرة جيدة لإيقاف "ترجمة للإبهام" في إعدادات هدف iPhone لزيادة الأداء. أواجه بعض المشاكل في العثور على هذا الإعداد رغم ذلك. نظرا لأنني لم أستطع العثور عليه في مشروعي الحالي، فقد قررت إنشاء واحدة جديدة (حيث يمكنني العثور عليها وتعيينها)، ونسخ ملفاتي إليها (وأيضا تحديث جميع Libs أنا أستخدمها في نفس الوقت ).

ولكن الآن يبدو أن هذا الإعداد لديه disappperad من هذا المشروع الجديد أيضا. بغض النظر عن SDK اخترت، محاكاة أو جهاز، لن تظهر الإعداد في الإعدادات المستهدفة! أعتقد أن لا يزال لديك متغير يسمى GCC_THUMB_SUPPORT تحت فئة "المعرفة من قبل المستخدم" فجأة. ما هذا؟

حاولت تقديم هدف جديد، لكن الإعداد لن يظهر في ذلك (وليس حتى gcc_thumb_support).

هل كانت مفيدة؟

المحلول

GCC_THUMB_SUPPORT هو المتغير المناسب. فقط اضبطه على عدم تعطيل جيل رمز الإبهام.
قاعدة عامة من الإبهام هو، لتعطيله إذا كان الكود نقطة عائمة الثقيلة :)
المزيد عن ذلك هنا.

تحديث:
نصيحة ترجمة لمجموعة تعليم الإبهام لم يعد صالحا (في الواقع منذ iPhone 3GS).

نصائح أخرى

لقد وجدت أن إعدادات المحول البرمجي ("GCC 4.2 - Generation Code"، "GCC 4.2 - اللغة"، إلخ) فقط تظهر فقط في نافذة إعدادات المعلومات الهدف عند تعيين SDK النشط على الجهاز - و "المستخدم" - فئة "فئة تظهر فقط عندما يكون SDK النشطة محاكاة.

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

"تجميع للإبهام" ينبغي تكون تحت الهدف / الحصول على معلومات / دول مجلس التعاون الخليجي 4.2 - رمز. وبعد إذا لم يكن هناك (سأدهش إذا لم يكن الأمر كذلك)، فقم بتعيين المتغير المعرفة من قبل المستخدم.

ضع في اعتبارك أن هذا يحسن الأداء فقط تحت مجموعة ضيقة من الظروف التي يجب أن تفهمها قبل الاضطراب معها.

مجموعة التعليمات القياسية للذراع هي 4 بايت. باستخدام "ترجمة للإبهام"، يكون التحويل البرمجي قادرا على استخدام تعليمات 2 بايت. ينتج عن هذا مكتبة أصغر بكثير، ولكن أيضا أبطأ واحد (قابلة للنقاش إلى حد ما). أكثر خطيرة، هناك مشاكل ذات تشغيل تحت ARMV6. في حالتنا، لم نتمكن من إنشاء إخراج مستقر من Monotouch (FIX في MT4.0 ألفا). في Xcode، يمكنك العثور على الإعداد بالنقر فوق هدفك، وتبحث تحت الإنشاء والبحث عن "الإبهام". الألغام ضمن جيل GCC 4.2 - رمز، ولكن في بعض الأحيان يكون ذلك تحت LVVM GCC 4.2.

Compile for Thumb

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top