Forum: Offtopic codeoptimierung bei sdcc


von Nick (Gast)


Lesenswert?

hi leutz...

ich habe folgendes problem...

mir ist aufgeafllen, wenn ich mir dem sdcc in compiliere, dass das
*.asm file ziemlich zugemüllt ist. weit über die heälfte des source's
ist auskommentiert. ich denke das es ein standardsouce ist, der bei
bedarf bzw. nicht bedarf auskommentiert wird.
ich habe schon etlichen aufwand betrieben, um diese datei zu finden,
von der er den code generiert um dann den speziellen inhalt zu
entfernen.

hat jemand ne ahnung, wie ich den code optimieren kann?

mfg

nick

von Rufus T. Firefly (Gast)


Lesenswert?

Du verwechselst Kommentare und Code.

Könnte es sein, daß Du exakt die selbe völlig sinnlose Frage hier schon
mal in der letzten oder vorletzten Woche gestellt hast?

von Nick (Gast)


Lesenswert?

häh?

ich frage hier, wie ich diese kommentare rausbekomme!ist das so schwer
zu verstehen....ich kann es mit z.b. grep entfernen, nur meine frage
lauteut, z.b., ob es ein kommando von sdcc gibt oder ob ich das auch
manuell raus löschen kann!

danke

nick

von Rufus T. Firefly (Gast)


Lesenswert?

Diese Kommentare stören doch überhaupt nicht - warum um alles in der
Welt willst Du sie wegbekommen? Es sind -ja!- Kommentare, also nichts,
was in irgendeiner Weise den Code beeinflusst.

Du hast auch in der bereits geführten Diskussion nicht erklären können,
welchen Grund es geben könnte, diese Kommentare zu entfernen.

Ob Du es diesmal schaffst?

von Andreas (Gast)


Lesenswert?

meinst Du die hier.

;     genCmpEq
;       Peephole 132    changed ljmp to sjmp
;       Peephole 199    optimized misc jump sequence
  cjne    r2,#0x02,00102$
;00107$:
;       Peephole 200    removed redundant sjmp

Falls ja, es gibt irgendwo eine Datei die irgendwas mit peephole
heisst. Habe da vor etlichen Monaten mal reigesehen, kann mich da nicht
genau erinnern.
Woran ich mich meine zu erinnern ist, dass das ganze im Source des sdcc
war. Falls Du dies entfernen willst, muss der sdcc neu compiliert
werden.

Allerdings frage ich mich auch nach dem Sinn des ganzen. Der sdcc
erzeugt eine Assembler-Datei für den AS31. Ansonsten wird die von
keinem anderen Programm benötigt.
Das einzige was ich mir vorstellen kann ist, dass du das ganze noch
durch einen anderen Assembler schicken willst.

Grüße
Andreas

von Nick (Gast)


Lesenswert?

wenn ich hier eine frage stelle, dann muss ich doch mein vorhaben doch
bestimmt nicht begründen /rechtvertigen @ rufus,...-

genau das ist mein anliegen, ich nutze ein anderen assembler, deshalb
ist der source völlig unwichtig, auch wenn er auskommentiert ist!

mein ziel ist es, einen vernünftigen kurzen code zu haben, der dazu
noch übersichtlich ist!
also beantwortet das deine frage @ rufus!?!
ausserdem kann ich mir nciht aussuchen, was ich für aufgaben bekomme,
da diese sachen ausbildungspezifisch sind!

danke

nick

von Matthias (Gast)


Lesenswert?

Hi

der SDCC hat keine Option um diese Ausgaben zu unterdrücken. grep sie
doch einfach raus wenn die dich so stören.

Matthias

von Rufus T. Firefly (Gast)


Lesenswert?

Nein, meine Frage wird von Deiner Antwort nicht beantwortet.
Der Code ist ja nun auch von den Kommentaren völlig unabhängig, er ist
kein Byte länger oder kürzer, ob da nun Kommentare, die Geschichte der
Erbauung von Rom oder eben nichts im Assemblersourcefile drinsteht.

In was für einer Ausbildung wird die Aufgabe gestellt, aus dem
Assembleroutput eines C-Compilers Kommentare zu entfernen?

Das mag ich so recht nicht glauben.
Und schon wieder sind wir an dem Punkt angelangt, an dem wir schon mal
waren, nämlich dem Verdacht, daß hier eigentlich ein Assemblerprogramm
geschrieben werden soll, und zur "Vereinfachung" ein Codegenerator
verwendet wird.

von Nick (Gast)


Lesenswert?

mensch rufus, laber mich nicht voll, wenn ich ein programm haben will,
das übersichtlich und knackig ist, dann will ich das....
und texte nicht stämdig so einen scheis, hast du sonst ncihs zutun!?!!
tritt in ein sportverein ein oder fang sonst was mit deiner zeit an!
ich kann 100% von mir sagen, das ich die assemblersprache, genaso wie c
und java und noch andere sprachen, behersche!ich brauche keinen cross
compiler zur vereinfachung. zu meinem projekt gehört es auch, nach
einem  monat, die ganzen sachen, verschieden gruppen
vorzustellen....dieser vortrag muss verständlich sein und das bildet
dann ebenfalls meine note und ist dann ausschlaggebend für meinen
erfolg in der ausbildung.
zu der verständlichkeit gehört auch, die übersichtlichkeit des
source's und das ist momentan nicht gegeben, da mehrer din. 4 seiten
mit kommentaren zugemüllt sind.

also gib vernünftige anworten oder lass mich in ruhe!
ich lasse mir besimmt nciht unterstellen, das ich in irgendeiner weise
 manipolation betreibe und von dir schon garnicht!
ausserdem stören mich ein paar kommentare ja nicht, nur der source ist
für mich völlig unnötig, da ich ein anderen assembler nutze, deshalb
bleibt der ganze scheiss ständig auskommentiert. das ist dann sowieso
nur störend!

danke an alle anderen, die mir eine vernünfige antwort gegeben haben.

p.s.: mit grep habe ich's schon gemacht, funktioniert auch...nur mein
lehrer will eine andere lösung, keine ahnung was der erwartet, deshalb
muss ich wrscheinlich zwangsmäßig die quell - datei finden und dort die
sachen entfernen...bin mir nur nicht sicher, ob das programm dann noch
lauffähig ist oder wirklich dann noch mal compiliert werden
muss?!?!denn ich habe zumteil root rechte und bisher auch diesen
compiler auf einige pc installiert und das müsste dann erneut gemacht
werden und wüde dann bei 30 rechnern, recht viel zeit in anspruch
nehmen.

naja mal wieder danke im vorraus und ich hoffe das sich jetzt rufus
zusammen nimmt und nicht von jedem gleich das schlimmste erwartet.
denn nciht nur mir pisst er an bein, hab schon mehrer aus diesem forum
sich beschweren hören. denn das wichtigeste ist, das man freundlich ist
in einem forum und sich gegenseitig hilft, egal was für fragen gestellt
werden, egal zu welchem zweck und egal wie absurt es klingt!

mfg

nick

von Rufus T. Firefly (Gast)


Lesenswert?

O je.

Weiter werde ich das nicht kommentieren.

von T.Stütz (Gast)


Lesenswert?

Tip 1: Hat dein Assembler einen sogenannten "Prä"prozessor
den kann mann vielleicht dazu bewegen reinen Assembler
OHNE Kommentare zu erzeugen (Kommandozeilenparameter ?)
=> RTFM (Read the f*ing manual, heißt nix anderes als das du in die
Dokumentation deines Assemblers schauen sollst)

Tip 2: Selber ein Programm schreiben das die überflüssigen Kommentare
entfernt

Tip 3: Handarbeit

Gruss

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
Noch kein Account? Hier anmelden.