Zuviel Werbung? - > Hier kostenlos beim SPS-Forum registrieren

Ergebnis 1 bis 5 von 5

Thema: Unterschiedliches Programmverhalten bei verschiedenen Kompellierungsmethoden?

  1. #1
    Registriert seit
    27.04.2005
    Beiträge
    200
    Danke
    22
    Erhielt 13 Danke für 10 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Hallo zusammen,

    wir haben bei uns einen Drucker, der zur Chargenverfolgung Etiketten auf Güter druckt.
    Dieser Drucker wurde neu angeschafft und von der Herstellerfirma in betrieb genommen.

    Leider zeigte der Drucker aber einige unerwünschte Verhaltensweisen (Etikett wurde nicht gedruckt, falsche daten auf dem Etikett, ...)

    Die Firma hat uns nun, nach einigem Hin und Her, eine neue Exe. Datei aufgespielt, auf der, zusätzlich zum schon vorhandenen Programm, ein Logger erweitert wurde.
    Der Logger soll Zeitstempel, Aktionen und Koppelsignale von Extern und nach Extern aufzeichnen.

    Uns ist jetzt aufgefallen, daß die neue Exe. kleiner ist als die Alte, obwohl doch eine neue Funktion erweitert wurde.
    Auf wundersame Weise sind aber nun auch alle Fehlfunktionen verschwunden.

    Antwort von der Firma: "Wir haben nur den Logger erweitert, sonst nichts. Das die neue Exe kleiner ist als die Alte, liegt an dem Kompellierungsverfahren"

    Meine Frage ist nun: kann ein Programm, welches nicht gekürzt wurde, sondern sogar noch erweitert, in Abhängigkeit der Kompellierungsmethode kleiner werden?
    Ich nehme eher an, daß einiges rausgelöscht wurde, das die Fehlfunktionen verursacht hat.

    Da ich selber 0,0% Ahnung von solchen Dingen habe, wende ich mich an Euch.

    Zu den technischen Daten des Druckers kann ich nur Windows XP angeben.
    Ob nun das Programm in C oder einer anderen Sprache geschrieben wurde, weiß ich (noch) nicht.

    Danke schon einmal für Eure Antworten.
    Zitieren Zitieren Unterschiedliches Programmverhalten bei verschiedenen Kompellierungsmethoden?  

  2. #2
    Registriert seit
    17.07.2009
    Ort
    Am Rande der Ostalb
    Beiträge
    5.491
    Danke
    1.141
    Erhielt 1.243 Danke für 974 Beiträge

    Standard

    Eine Logging-Funktion sind in der Regel nur wenige Zeilen Code. Auf die Größe der Exe wirkt sich das kaum aus.
    Compiler-Optionen können schon einen ganz erheblichen Einfluß haben, allerdings bei einem bestehenden Projekt (Produkt) sollte kaum mehr die Notwendigkeit bestehen die Optionen zu ändern.
    Aber es gibt halt Entwickler und "Entwickler". Von daher: "Nichts ist unmöglich"

  3. Folgender Benutzer sagt Danke zu Blockmove für den nützlichen Beitrag:

    cmm1808 (29.05.2012)

  4. #3
    Avatar von cmm1808
    cmm1808 ist offline Erfahrener Benutzer
    Themenstarter
    Registriert seit
    27.04.2005
    Beiträge
    200
    Danke
    22
    Erhielt 13 Danke für 10 Beiträge

    Standard

    Hallo Blockmove,

    wie äußert sich das denn?
    Treten bei gleichem Quellcode und unterschiedlichen Compiler-Optionen auch unterschiedliche Programmabläufe auf?
    So nach dem Motto: Compiler-Option A= Lampe geht an, aber bei Compiler-Option B= Lampe blinkt.

    Bei meinem Fall wäre das dann: Compiler-Option A wertet alle Koppelsignale anders aus als Compiler-Option B, also ein anderer Programmablauf.

  5. #4
    Registriert seit
    22.11.2007
    Beiträge
    731
    Danke
    6
    Erhielt 89 Danke für 62 Beiträge

    Standard

    Mit deinem Wissen über die Exe (welche Programmiersprache/Umgebung, ...) gibt es zu viele Möglichkeiten um richtig Antworten zu können - was du hier als Infos bekommen kannst ist zu 100% spekulativ aus dem Bauch/der Luft heraus

    Die reine "Neuübersetzung" sollte die Fehler nicht entfernen (Falls es kein Library-Problem war) - aber auch hier gibt es eine Menge Möglichkeiten:

    Die Größe:
    -Sie haben noch ungenutze Libraries entfernt
    -Falls vorhanden: die Optimierung von Speed auf Size gestellt
    -Bilder,Strings,... in Ressource wurde besser gepackt
    -Alle statischen Libs jetzt als Release (falls C/C++)

    Zum Fehler:
    -Sie haben externe Libraries upgedatet - also nichts am eigenen Code geändert
    -Das Logging ändert das Zeitverhalten und der schlechte mit Sleeps gebastelte Code verhält sich jetzt "besser"

    etc,etc,etc. (hier bitte weiter 100Mio Varianten eintragen)

    Ich denke die Bugs wurden einfach gefixt - so wie es meistens passiert - ausserdem warum sollen die einfach nur neu Übersetzen - wenn doch nichts geändert wurde

    Wenn du wirklich wissen willst was sich geändert hat brauchst du die alte Exe - dann könntest du beide durch Dependecy Walker oder IDA Pro jagen und mal schauen ob
    mehr/weniger importiert wird, Funktionen hinzugekommen sind - aber nicht inhaltlich nur die Menge sonst wirds hart

    MfG

    LowLevelMahn
    Geändert von LowLevelMahn (29.05.2012 um 13:41 Uhr)
    Zitieren Zitieren bissle von mir  

  6. Folgender Benutzer sagt Danke zu LowLevelMahn für den nützlichen Beitrag:

    cmm1808 (29.05.2012)

  7. #5
    Registriert seit
    03.10.2005
    Beiträge
    160
    Danke
    17
    Erhielt 7 Danke für 7 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Sollte das Programm in .NET geschrieben sein kannst du dir den Sourcecode einfach mit dem
    .NET Reflector anschauen.(Sofern der code nicht mit z.B. dem .NET Reactor geschützt wurde)

Ähnliche Themen

  1. Motornennstrom bei verschiedenen Netzspannungen
    Von olitheis im Forum Antriebstechnik
    Antworten: 4
    Letzter Beitrag: 25.08.2010, 13:01
  2. Antworten: 1
    Letzter Beitrag: 19.09.2008, 08:23
  3. Stopps eine Förderband bei verschiedenen Geschwingkeiten
    Von Mr.Ragu im Forum Programmierstrategien
    Antworten: 3
    Letzter Beitrag: 02.07.2008, 16:25
  4. Links zu verschiedenen Folien bei PowerPoint
    Von olitheis im Forum PC- und Netzwerktechnik
    Antworten: 4
    Letzter Beitrag: 17.06.2008, 08:10
  5. Antworten: 2
    Letzter Beitrag: 27.04.2007, 08:35

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •