Hallo, kann mir jemand sagen, um wieviel größer ein C-Programm im Verhältnis zu einem Assembler-Programm ist (bei gleichem Funktionsumfang)? Hintergrund: Bisher programmiere ich in Assembler. Mein Programm hat derzeit 4kByte und jetzt habe ich mich gefragt, wie groß das Programm wohl wäre, wenn es in C geschrieben wäre. Weiß jemand, wie groß die C-Programme in der Eval-Version von Keil für ARM maximal sein dürfen? Danke schonmal. Martin.
> kann mir jemand sagen, um wieviel größer ein C-Programm im > Verhältnis zu einem Assembler-Programm ist (bei gleichem > Funktionsumfang)? Nein, denn das hängt sehr stark vom Programm und vom Programmierstil ab, außerdem vom Compiler und dessen Optimierungseinstellung.
>> kann mir jemand sagen, um wieviel größer ein C-Programm im >> Verhältnis zu einem Assembler-Programm ist (bei gleichem >> Funktionsumfang)? >Nein, denn das hängt sehr stark vom Programm und vom Programmierstil >ab, außerdem vom Compiler und dessen Optimierungseinstellung. Aber vielleicht kann man es abschätzen. Ist es eher 1:5 oder 1:10? Ich möchte den Keil-Compiler für ARM verwenden.
Hallo Rufus, weißt Du, auf wieviel kByte die Eval-Version von Keil begrenzt ist? Wie weit kommt man damit oder werden die C-Programme gleich so groß, daß man ohnehin die Vollversion kaufen muß?
Bei den kleinen 8-Bittern hat sich der Herr Keil viel Mühe gegeben. Beim 8051 beträgt der Overhead von C gegenüber Assembler etwa 5% bis maximal 50%. Bzw. wenn man in Assembler erst anfängt, ist der C Code sogar kleiner. Bei den 32-Bittern gehts aber wohl eher nach der Devise: Flash ist genug da. Was ich so beim Keil-Eval oder dem GCC gesehen habe, mindestens 100% Overhead muß man da wohl in Kauf nehmen. "Du hast 4 kByte Assemblerprogramm für den ARM geschrieben? Hut ab." 1024 Befehle in Asembler ist bei nem RISC überhaupt nicht viel, ein MOV IO-Register mit Wert kostet ja schon 5 Dworte (20 Byte). Peter
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.