Frage

Ich habe gehört, es könnte eine gute Idee sein, Einstellungen zu deaktivieren „kompiliert für Daumen“ in einer iPhone Zielleistung zu erhöhen. Ich habe allerdings diese Einstellung einige Probleme zu finden. Da ich es nicht in meinem aktuellen Projekt finden konnte, habe ich mich entschlossen, eine neue zu machen (wo ich könnte es finden und festgelegt), und kopieren Sie meine Dateien über ihm (und aktualisiert auch alle Libs ich zur gleichen Zeit bin mit ).

Aber jetzt scheint es, wie diese Einstellung auch von diesem neuen Projekt disapperad hat. Egal, welche SDK ich wähle, Simulator oder ein Gerät, wird die Einstellung zeigt, nicht in den Zielsystemeinstellungen auf! Ich scheine jedoch noch eine Variable haben GCC_THUMB_SUPPORT unter der Kategorie „Benutzerdefiniert“ ganz plötzlich genannt. Was ist das?

Ich habe versucht, ein neues Ziel zu machen, aber die Einstellung wird nicht angezeigt, dass entweder (nicht einmal GCC_THUMB_SUPPORT).

War es hilfreich?

Lösung

GCC_THUMB_SUPPORT ist die richtige Variable. Stellen Sie einfach es auf NO zu DAUMEN Code-Generierung zu deaktivieren.
Eine Faustregel ist, um es zu deaktivieren, wenn Ihr Code Punkt schwer :)
floating Mehr über die hier .

Update:
Die Beratung für die THUMB-Befehlssatz zu kompilieren ist nicht mehr gültig (eigentlich seit dem iPhone 3GS).

Andere Tipps

Ich habe festgestellt, dass die Einstellungen des Compilers ( „GCC 4.2 - Codegenerierung“, „GCC 4.2 - Sprache“, usw.) nur in der Zielinfo bauen Einstellungsfenster angezeigt, wenn das Active SDK-zu-Gerät eingestellt ist - und die „Benutzerdefiniert definiert~~POS=HEADCOMP“ Kategorie nur angezeigt, wenn das Active SDK ist Simulator.

Und ja, Thumb Kompilierung deaktivieren kann eine große Hilfe, um die Leistung sein, wenn Sie mit viel Gleitkommamathematik tun (zum Beispiel Gleitkomma-Audio-Verarbeitung). Obwohl es natürlich nicht ist, ein universell einsetzbares magische Speed-up (und angeblich Thumb-kompilierte Code kann schneller in einigen Situationen führen), so werden Sie wahrscheinlich nur zu deaktivieren Thumb nützlich finden, wenn Ihr Code diese Art von Engpass hat.

"Übersetzen für Thumb" sollte werden unter Target / Get Info / GCC 4.2 - Codegenerierung . Wenn er nicht da ist (ich wäre überrascht, wenn es nicht ist), stellen Sie die benutzerdefinierten Variablen.

Beachten Sie, dass diese Leistung verbessert nur unter einer schmalen Reihe von Umständen, die Sie vor dem Hantieren mit ihm verstehen sollten.

Der Standard-Befehlssatz für ARM ist 4-Byte. Mit „Kompilieren für Thumb“, ist der Compiler in der Lage 2-Byte-Befehle zu verwenden. Dies führt zu einer viel kleineren Bibliothek, sondern auch ein langsamerer (etwas fraglich). Kritischer gibt es Probleme mit unter ARMv6 läuft. In unserem Fall konnten wir nicht stabile Ausgabe von Monotouch (fix in MT4.0 alpha) erzeugen. In Xcode, können Sie die Einstellung, indem Sie auf Ihrem Ziel finden, und suchte unter Übersetzungs und die Suche nach „Daumen“. Meins ist unter GCC 4.2 -. Code-Generierung, aber manchmal ist es unter LVVM GCC 4.2

Kompilieren für Thumb

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top