Aus RN-Wissen.de
K (→Gegenüberstellung) |
|||
| (6 dazwischenliegende Versionen von 2 Benutzern werden nicht angezeigt) | |||
| Zeile 1: | Zeile 1: | ||
| − | + | =Gegenüberstellung= | |
| − | + | ||
| − | =Gegenüberstellung | + | |
{| {{Blauetabelle}} | {| {{Blauetabelle}} | ||
| − | + | |- bgcolor="#ccccff" | |
| − | + | ! | Quellcode | |
| − | + | ! | Vorteile | |
| − | |- valign="top" | + | ! | Nachteile |
| − | | | + | |- valign="top" |
| + | | Assembler | ||
| <!--------------------- + Assembler --> | | <!--------------------- + Assembler --> | ||
| − | Prinzipiell der schnellste bzw kürzeste Code, weil man volle Kontrolle über die Maschine hat | + | * Prinzipiell der schnellste bzw kürzeste Code, weil man volle Kontrolle über die Maschine hat |
| <!--------------------- - Assembler --> | | <!--------------------- - Assembler --> | ||
* komplette Neuimplementierung bei Portierung auf eine andere Architektur | * komplette Neuimplementierung bei Portierung auf eine andere Architektur | ||
| + | * bei Umstieg auf eine andere Architektur muss zuerst ein anderer Assembler-Code erlernt werden | ||
* sogar Portierung innerhalb der gleichen Controllerfamilie (z.B. AVR) erfordert Anpassungen wegen unterschiedlichem Befehlssätze | * sogar Portierung innerhalb der gleichen Controllerfamilie (z.B. AVR) erfordert Anpassungen wegen unterschiedlichem Befehlssätze | ||
| − | * aufwändig in der Entwicklung, | + | * aufwändig in der Entwicklung |
| + | * Wartung ist schwierig, denn Code wird leicht unübersichtlich | ||
|- valign="top" | |- valign="top" | ||
| '''Hochsprache''' | | '''Hochsprache''' | ||
| Zeile 20: | Zeile 21: | ||
* gute Portierbarkeit | * gute Portierbarkeit | ||
* schnelle Entwicklung | * schnelle Entwicklung | ||
| − | * | + | * der Compiler kann bekannte Hardware-Bugs umschiffen |
| − | * beim Upgrade auf eine neue Compiler-Version mit | + | * beim Upgrade auf eine neue Compiler-Version mit besseren Optimierungsstrategien hat man die Optimierungen, ohne die Quelle ändern zu müssen |
| <!--------------------- - Hochsprache --> | | <!--------------------- - Hochsprache --> | ||
* ineffizienterer Code | * ineffizienterer Code | ||
* Unsicherheit, wie der Code genau aussieht | * Unsicherheit, wie der Code genau aussieht | ||
| + | * Compiler sind oft wesentlich komplexer aufgebaut als Assembler, was die Wahrscheinlichkeit von Fehlern im Compiler im Vergleich zu einem Assembler erhöht. | ||
|- valign="top" | |- valign="top" | ||
| '''Intermix''' Hochsprache + Assembler''' | | '''Intermix''' Hochsprache + Assembler''' | ||
| Zeile 37: | Zeile 39: | ||
* es sind zwei Sprachen zu beherrschen | * es sind zwei Sprachen zu beherrschen | ||
* Objektformat bzw. Compiler und Assembler müssen zueinander passen | * Objektformat bzw. Compiler und Assembler müssen zueinander passen | ||
| + | * Je nach verwendeter Mix-Technik (Inline Assembler, Link mehrerer Objekte, dynamisch linkender Bootloader) sind noch zusätzliche Kenntnisse erforderlich. | ||
|} | |} | ||
| − | |||
[[Kategorie:Software]] | [[Kategorie:Software]] | ||
Aktuelle Version vom 25. Juni 2009, 20:12 Uhr
Gegenüberstellung
| Quellcode | Vorteile | Nachteile |
|---|---|---|
| Assembler |
|
|
| Hochsprache |
|
|
| Intermix Hochsprache + Assembler |
|
|