Autor Thema: codeverlust beim zusammenfügen von dateien mit copy  (Gelesen 4044 mal)

nore

  • Beiträge: 76
    • Profil anzeigen
Gespeichert
« am: 17. January 2006, 21:39 »
hi, ich weiß nicht, ob das in diesen teil des forums gehört, aber ich wusste nicht genau, wohin ichs posten sollte.

ich habe grade ein SEHR komisches problem:
ich assembliere bootloader und kernel in einzelne dateien und füge sie dann mit dem MS-DOS-Befehl copy zusammen. dann hab ich mir aber wegen nem fehler die endgültige datei mit dem netwide disassembler mal angeguckt und mir ist aufgefallen, dass am ende ein teil des codes fehlte (ca die letzten 20 byte oder so).
dann hab ich mir die einzeldateien von bootloader und kernel mit dem disassembler angeguckt und hier hat am ende nix gefehlt. also dachte ich, dass einfach nur der letzte teil der kerneldatei (warum auch immer) beim zusammenfügen abgeschnitten wird.
dann habe ich allerdings die größe der dateien verglichen und mir ist aufgefallen, dass die größen der beiden einzelnen dateien zusammen der größe der gesamtdatei entsprechen. im disassemblierten code sind die einzelnen bytes außerdem durchnummeriert und auch hier hat die nummer des letzten bytes mit der größe jeweils übereingestimmt.
außerdem geht der code vom bootloader in der gesamtdatei genau über die ersten 512 byte.

es sieht also für mich so aus, als würde beim zusammenfügen der beiden dateien irgendwo in den kernelteil code eingeschoben werden und das hinten abstehende dann abgeschnitten.

hat einer ne ahnung, woran das liegen könnte?
ansonsten muss ich halt den code mal zeile für zeile vergleichen und gucken, was passiert ist.

bitmaster

  • Troll
  • Beiträge: 1 138
    • Profil anzeigen
    • OS-64 = 64 Bit Operating System
Gespeichert
« Antwort #1 am: 17. January 2006, 23:19 »
Wie kopierst du denn zusammen? Ich habe mal gehört das man es anstatt so:

copy datei1 + datei2 = datei3

so machen soll:

copy /B datei1 + datei2 = datei3

Der Parameter /B sagt das die Dateien Binär zu behandeln sind. Vielleicht klappts ja.

bitmaster
In the Future everyone will need OS-64!!!

nore

  • Beiträge: 76
    • Profil anzeigen
Gespeichert
« Antwort #2 am: 19. January 2006, 14:02 »
hi, ich hab nochmal  bischen rumprobiert und jetzt scheints mir so, dass die datei doch die falsche größe am ende hat und einfach was abgeschnitten wird.

ich hab bisher immer mit "copy quell1 + quell2 ziel" das gemacht und werde das andere dann mal ausprobieren.

als zwischenlösung benutze ich zurzeit nur eine datei für den quelltext.

EDIT: mit "copy /B ..." funktioniert es. danke.

 

Einloggen