Ich benutze Marmalde und C/C++, um ein Spiel für Android zu schreiben. Jetzt möchte ich einige wichtige Teile in Assembler schreiben, um die Leistung zu verbessern. Aber ich frage mich, ob diese App auf den meisten Android-Geräten laufen könnte? (etwa 90%) Da im Allgemeinen Assembler-Code vom Prozessor abhängt und verschiedene Android-Telefone möglicherweise verschiedene Prozessoren haben, zum Beispiel Intel oder ARM, so müsste ich diese Teile in verschiedenen Assembler-Sprachen für jeden anderen Prozessor schreiben !?Schreiben Android App Teile in Assembly
Antwort
Ja, natürlich müssen Sie den Assemblercode für jeden Prozessor ABI schreiben.
Das Android NDK hat specific support for different ABIs.
Denken Sie daran, dass derzeit zwar nur drei Prozessorfamilien unterstützt werden (Intel x86/64, ARM und MIPS), Sie jedoch alle anderen ABIs und nicht die Prozessorenfamilien selbst anvisieren müssen.
Sie können MIPS-Geräte sicher fallen lassen, sie sind sehr selten.
Intel-Geräte sind meist Tablet, aber es gibt auch ein Handy.
Die überwiegende Mehrheit der Geräte gibt es ARM.
Wenn Sie bei einer offiziellen optimization guide from ARM v8 sehen oder zu einem sehr nützlichen optimization guide for Intel können Sie sehen, dass es tatsächlich einige Zeit dauern, guten Assembler-Code schreiben, dann ist es nicht nur darum, etwas Arbeit zu machen (die Sie bereits in der Lage sein sollten, mach es leicht).
Hint
schreiben zuerst die kritischen Teile in C++, dann schauen Sie bei der Demontage und sehen, ob Sie besser machen können oder wenn Sie einige suboptimale Muster erkennen kann.
Nur dann den Code in der Baugruppe neu schreiben.
Versuchen Sie auch, bevor Sie solche Mikrooptimierungen durchführen, bessere Datenstrukturen, bessere Algorithmen und besseres Ressourcenhandling zu verwenden.
Die letzte Aussage ist absolut richtig und fasst alles zusammen! – t0mm13b
- 1. Kann ich Teile des Google App Engine-Codes in Java schreiben, andere Teile in Python?
- 2. Zwei Teile einer Schnur in Golang schreiben
- 3. Wie teile ich meine Android App mit Facebook?
- 4. iPad-Entwicklung in Assembly
- 5. Wie teile ich Daten von meiner App A zu meiner App B in Android?
- 6. , wie Daten auf Remote-Server in Android-App schreiben
- 7. Javascript App in Android
- 8. Dateien nicht in Android schreiben
- 9. Android-Layout, dehnen bestimmte Teile des Layouts
- 10. Android Teile Absicht, bleibt in der gleichen Aktivität
- 11. Lesen und schreiben und Integer in Assembly ATT
- 12. Wo kann ich in einer Redux-App auf localStorage schreiben?
- 13. Code-Design für wiederverwendbare Drag & Drop-UI-Teile in Android
- 14. Wie teile ich den Link via Twitter in Android?
- 15. PySpark: spuckt einzelne Datei beim Schreiben statt mehrerer Teile aus
- 16. SYSTEM_ALERT_WINDOW Erlaubnis von Lux macht Teile unserer App funktionsunfähig
- 17. Schreiben in einen Cursor Android
- 18. Schreiben in Android lokal tragen
- 19. Datei Lesen/Schreiben in Android
- 20. Schreiben auf Google FireBase von Android-App funktioniert nicht
- 21. Nur Querformat-Modus für bestimmte Teile der App zulassen
- 22. Schreiben Python-Code auf Android
- 23. Android Intent Teile mit externem Bild-URL
- 24. Umzug in Assembly
- 25. Android Apps in C# schreiben (Xamarin)
- 26. Schreiben in Windows-Registrierung von Intranet-App
- 27. Schreiben und Lesen Android
- 28. Android HttpURLConnection schreiben Postdaten
- 29. Google Chrome App Schreiben von Dateien in den App-Ordner
- 30. Android - Schreiben nach ISO15693 Tags
In den meisten Fällen können Menschen nicht besser asm als der Compiler/Optimierer schreiben. Also solltest du dich generell davon fernhalten, asm selbst zu schreiben. Sie werden wahrscheinlich schlechteren Code und mehr Probleme produzieren, als wenn Sie es einfach den Tools überlassen. (Achtung: Egos kann stören). –
Fehlgeleitet Versuch. Sie werden nicht besser ASM als Compiler schreiben. – SergeyA
** Wahrscheinlich ** fehlgeleitet. Sie können einen Compiler für sehr spezifische Code-Teile schlagen (Audio-Mixing und Filter kommen Ihnen in den Sinn), aber insgesamt ist es das nicht wert. –