Aus RN-Wissen.de
Frank (Diskussion | Beiträge) K |
K (→Gegenüberstellung) |
||
(4 dazwischenliegende Versionen von einem anderen Benutzer 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 |
|
|