Patchaufbau, -programmierung?

Von: , Frage gestellt am Mo, 26. Feb 2007

Nabend liebe Wwwler,
mich interessiert was ein Patch en detail macht. Ein Patch behebt kleine Programmierfehler und fügt evtl. Funktionen zum Programm hinzu, das ist klar.Aber wie genau, geht das zB in Delphi vonstatten? Wird einfach das sourcefile durch ein neues ersetzt? Oder ist ein Patch ein eigenständiges Programm, greift auf das sourcefile zu und ändert darin die entsprechenden Quelltextzeilen?Wenn ich z.B. ein Programm geschrieben habe(in Delphi) und entdecke einen Fehler, möchte aber nicht das Programm ändern und neu kompilieren(was natürlich viel einfacher und schneller wäre...), sondern einen Patch dazu schreiben(..., aber das Wissen kann man bestimmt mal gebrauchen;), der die Änderungen vornimmt, wie mache ich das? Die alte(n) Datei(en) [.pas und evtl. .dfm files] einfach überschreiben?
Freue mich über eure Antworten,
Sven

4 Antworten zu dieser Frage

  1. Antwort von nach 10 Minuten 0 hilfreich
    Re: Patchaufbau, -programmierung?

    Moien mich interessiert was ein Patch en detail macht.
    Binäres Patch (das was Mircosoft rausgibt) oder Quellcode Patch ? Aber wie genau, geht das zB in
    Delphi vonstatten? Wird einfach das sourcefile durch ein neues
    ersetzt?
    (Also Quellcodepatch)

    Nein. Man nimmt das Orginal und die verbesserte Version der Datei(en). Dann läst man ein diff (=Patch) erstellen. Darin ist exakt vermerkt was geändert wurde. Diese Änderungen kann man auf die Orignale und leicht veränderte Orginale anwenden. Oder ist ein Patch ein eigenständiges Programm,
    greift auf das sourcefile zu und ändert darin die
    entsprechenden Quelltextzeilen?
    Das hört sich eher nach binären Patches an. Die haben nix mit dem Quellcode am Hut sondern ersetzen oder modifizieren die schon compilierten Dateien. Wenn ich z.B. ein Programm
    geschrieben habe(in Delphi) und entdecke einen Fehler, möchte
    aber nicht das Programm ändern und neu kompilieren(was
    natürlich viel einfacher und schneller wäre...), sondern einen
    Patch dazu schreiben
    Dann nimmst du den Quellcode, änderst ihn, kompilierst ihn und testest das ganze erstmal. Dann kannst du immernoch diffs anfertigen.

    cu

    • Antwort von nach 27 Minuten 0 hilfreich
      Re^2: Patchaufbau, -programmierung?

      Danke schon mal für deine Antwort. Binäres Patch (das was Mircosoft rausgibt) oder Quellcode
      Patch ?
      Im Allgemeinen... Nein. Man nimmt das Orginal und die verbesserte Version der
      Datei(en). Dann läst man ein diff (=Patch) erstellen. Darin
      ist exakt vermerkt was geändert wurde. Diese Änderungen kann
      man auf die Orignale und leicht veränderte Orginale anwenden.
      Ja gut...aber wie 'lässt' man denn ein diff erstellen, gibts da spezielle Programme zu oder kann man das auch selbst schreiben? Dann nimmst du den Quellcode, änderst ihn, kompilierst ihn und
      testest das ganze erstmal. Dann kannst du immernoch diffs
      anfertigen.
      Und wie genau fertige ich die jetzt an?

      Es gibt also zwei Arten von Patches. Einmal Binäre Patches und andererseits Quelltext Patches. Die einen verändern direkt die compilierten Dateien und die anderen verändern mit Hilfe von diffs die Originaldateien. Richtig so? Kann man so etwas auch selbst programmieren? Man kann bestimmt, aber ist dazu ein großes Prog nötig?

      • Antwort von nach 41 Minuten 0 hilfreich
        Re^3: Patchaufbau, -programmierung?

        Moien Ja gut...aber wie 'lässt' man denn ein diff erstellen, gibts
        da spezielle Programme zu oder kann man das auch selbst
        schreiben?
        Dafür gibt es jede Menge Programme:
        http://www.linuxmanpages.com/man1/diff.1.php
        http://www.linuxmanpages.com/man1/patch.1.php

        Selbst das normale MS Word hat eine diff/patch Funktion ... Es gibt also zwei Arten von Patches. Einmal Binäre Patches und
        andererseits Quelltext Patches. Die einen verändern direkt die
        compilierten Dateien und die anderen verändern mit Hilfe von
        diffs die Originaldateien. Richtig so?
        jau. Kann man so etwas auch
        selbst programmieren? Man kann bestimmt, aber ist dazu ein
        großes Prog nötig?
        Es ist schon ein bisschen Arbeit, aber nix weltbewegendes. Wenn dir RegExps leicht fallen kannst auch problemlos ein diff/patch Programm schreiben.

        cu

        • Antwort von nach 23 Stunden 0 hilfreich
          Re^4: Patchaufbau, -programmierung?

          Dafür gibt es jede Menge Programme:
          http://www.linuxmanpages.com/man1/diff.1.php
          http://www.linuxmanpages.com/man1/patch.1.php
          Scheint so als seien die für Linux...werd ma schaun obs auch was für Windows gibt. Danke für die Links. Selbst das normale MS Word hat eine diff/patch Funktion ...
          Um Word zu patchen? In der Hilfe von Word steht bei mir nix dazu. Naja egal :) Es ist schon ein bisschen Arbeit, aber nix weltbewegendes.
          Wenn dir RegExps leicht fallen kannst auch problemlos ein
          diff/patch Programm schreiben.
          mmm...ich glaub, für's erste nehm ich doch lieber die Progs aus dem Netz. Vielleicht wenn ich was mehr geproggt hab, dann versuch ich mich mal an sowas :)
          Danke für deine Antworten.
          Bis denn

Keine passende Antwort gefunden? Jetzt eigene Frage stellen!