Seite 1 von 1

Unterschied zwischen .LNK und .RMK

Verfasst: Di, 25. Mär 2014 13:48
von Magic
Hi,

ich versuche durch ein altes Clipper Programm durchzusteigen.
Dabei habe ich die Dateien .LNK und .RMK verglichen und festgestellt, dass dort teilweise unterschiedliche .PRG / .OBJ Dateien aufgelistet sind.
Sollten eigentlich nicht in beiden Dateien die gleichen .OBJ Dateien genannt werden?

Welche von den beiden Dateien (.LNK / .RMK) wird überhaupt verwendet wenn das Projekt mit rmake kompiliert und gelinkt wird?

Habe von Clipper nicht die größte Ahnung, deshalb ist mir auch der Unterschied zwischen den beiden o.g. Dateien nicht wirklich klar.

Re: Unterschied zwischen .LNK und .RMK

Verfasst: Di, 25. Mär 2014 13:59
von brandelh
man ist das lange her ;-) und ein Glück dass wir heute PBuild.EXE haben :-)

ich meine die RMK Datei definiert wie man von PRG nach OBJ und die LNK Datei wie man von OBJ nach EXE kommt.
Grundsätzlich müsste zu jeder PRG Datei eine OBJ mit gleichem Namen vorkommen, aber es kann zusätzliche OBJ Dateien geben (von anderen Compilern).
So wurde z.B. die 1 GB Grenze auf 2 GB verschoben oder die deutsche DIN Sortierung eingebaut. Aber ohne Clipperhilfe wird man sich schwer tun.

Re: Unterschied zwischen .LNK und .RMK

Verfasst: Di, 25. Mär 2014 14:05
von Magic
brandelh hat geschrieben:ich meine die RMK Datei definiert wie man von PRG nach OBJ und die LNK Datei wie man von OBJ nach EXE kommt.
OK.
Das würde dann heißen, dass wenn in der LNK etwas nicht zur EXE gelinkt wird,
braucht es nicht in der RMK gelistet zu sein, da es anscheinend nicht gebraucht wird.

Zusätzlich können aber in der LNK, OBJ gelinkt werden, die nicht in der RMK gelistet sind.

Re: Unterschied zwischen .LNK und .RMK

Verfasst: Di, 25. Mär 2014 14:07
von brandelh
so müsste es sein, aber es ist lange her ;-)

Re: Unterschied zwischen .LNK und .RMK

Verfasst: Di, 25. Mär 2014 14:17
von Tom
Ich erinnere mich auch nur noch dunkel an die Clipper-Zeiten, aber es gab da zum Beispiel diese "__WAIT_B.OBJ", die man, als schnellere Rechner auf den Markt kamen, zur Anwendung linken musste, damit die sog. "Branchprediction" (Ermittlung der Rechnergeschwindigkeit) nicht auf einen "Division by zero"-Fehler lief. Dazu gab's aber überhaupt keine PRG - die Funktion lag schlicht nicht im Quellcode vor (keine Ahnung, wo das Ding überhaupt herkam). Ich hatte damals auch einige PRGs, die allgemeine Funktionen enthielten, und die überhaupt nicht im Quellverzeichnis aller Applikationen enthalten waren. Die habe ich nur bei Änderungen kompiliert; dazugelinkt wurden sie aber immer. Und dann tauchten die PRGs natürlich auch nicht in den Scripten auf.

Re: Unterschied zwischen .LNK und .RMK

Verfasst: Di, 25. Mär 2014 14:47
von brandelh
und ich habe sogar noch meinen clipper Ordner gefunden ... (ich sollte wirklich mal die Platte putzen ....) :-)

die "__WAIT_B.OBJ" kam vom Hersteller, ich meine die war aber nur für die Tools nötig.
und ist nicht im CL5 Ordner, kann das noch von S87 sein ?

Einge gute Quelle für solche Infos ist hier zu finden:
:arrow: http://www.the-oasis.net/ftpmaster.php3 ... ppatch.htm

IAMIDLE.OBJ - von der NANFOR Lib, soll die 100% Auslastung im Ruhezustand verbessern.

Re: Unterschied zwischen .LNK und .RMK

Verfasst: Mi, 26. Mär 2014 13:41
von AUGE_OHR
*.RMK werden von RMAKE.EXE aufgerufen
Automatisiert die Erstellung umfangreicher, aus vielen Dateien
bestehenden Applikationen durch Aktualisierung der Dateien. Dabei werden
Dateidatum und -zeit miteinander verglichen, wobei eine oder mehrere
Aktionen durchgefhrt werden k”nnen, wenn bei einer Datei Žnderungen
festgestellt wurden.
man könnte grob sagen das es ein BATch für den Compiler ist.

*.LNK werden vom Linker ( Plink86, Blinker, Exospace) aufgerufen

in der *.RMK steht gewöhnlich in der letzten Zeile der Aufruf des Linker.

Re: Unterschied zwischen .LNK und .RMK

Verfasst: Mi, 26. Mär 2014 22:56
von BJelinek
Hallo Magic

Ich arbeite noch täglich mit Clipper.

Beim Zusammenspiel .rmk und .lnk sind noch die .clp Dateien zu berücksichtigen.

Die darin enthaltenen .prg werden in die .obj überführt.

Sind nicht alle Prg in der mak-Datei werden nicht alle Obj aktualisiert.
Außer man löscht alle obj.

Obj. müssen keine Clipper-Programme sein. Auch Assembler kann dazu gelinkt werden.