-
17.03.11 17:22 #16BassBox Tutorials.de Gastzugang
Also ich möchte exe nur verwenden da ich mir sparen will irgendwelche eigenen compiler zusammenschrauben will sonderen das es für den programmiere leicht sen soll schnell einen ausführbare datei zu bekommen. Wie entfernt man die windows bibliotheken aus der exe? Bzw wie verhindert mann das sie eingebunden werden? Und nein ich werde noch keine Windows-Funktionen Definiren sonderen es so machen: Man includiert die datei OS.h in welcher Die befehle mit assembler Definiert sind (natürlich unter nutztung von Pmode Interruptions). Man schreibt ein Programm mit den Definierten Befehlen von der OS.h compiliert das und startet es dann unter meinem eigenem os. Die datei soll ohne windowsfunktionen verwendet werden . Ich habe mir hier angeguckt wie exe aufgebaut ist, aber ich check jetzt nicht welche tabelle wo hingehört und wo die jetzt zu finden ist.
Danke für deine Hilfe und unterstütztung
LG
BassBoxGeändert von BassBox (17.03.11 um 17:25 Uhr)
-
Libs entfernen: Je nach Linker durch CMD-Parameter.
1) Einfach keine Extra-libs angeben
2) Ggf. je nach Linker einen Parameter, dass keine Standardlibs verwendet werden sollen.
Bei Projekten von grafischen IDEs wird die Kommandozeile automatisch mitgeneriert, muss dann in den Projekteinstellungen nachträglich angepasst werden.
Bei Winprogs wirst du allerdings Probleme bekommen.
Ohne min. die kernel32.dll läuft nichts. Auch kein Linker.
Grund: Der Einstiegspunkt/Startpunkt eines Windows-Programms ist in Wirklichkeit nicht main, sondern eine interne Funktion aus der kernel.dll.
Ohne die und ihren Einstiegspunkt linkt überhaupt nichts.
Zumindest die Grundzüge der Windows-Prozessverwaltung wirst du implementieren müssen, wenn du nicht schon abgeschreckt bist.
Zum EXE-/PE-Format: Den "ToDo´s" zufolge ist der Artikel auf der Lowlevelseite unvollständig.
Warum nicht gleich die offizielle Spec?
http://msdn.microsoft.com/en-us/wind.../gg463119.aspx
Nach dem Zustimmen zur Lizenz bekommt man eine docx-Datei.
Gruß
-
17.03.11 23:30 #18BassBox Tutorials.de Gastzugang
ok. Weist du was ich mache das jetzt so: ich nehme jetzt den binary linker und bastle mir ein eigenes executables dateformat. Und um den einstuegspunkt zu kriegen bastle ich mir ne eigene Lib zusammen die ich dann nutze anstatt der von Windows um den einstuegspunkt zu kriegen. Bei der Nächsten Version meines OS befasse ich mich ernsthaft mit der kompatibilität zu Microsoft Programmen. Setzt der TC beim Installieren irgendwelch Reg Einträge? Ich will den zu nem eigenem installet umbauen. (darf ich ja weil das Copyright ausgelaufen ist und Borland zwischendurch pleite gegangen ist.)
LG
Danke für deine Unterstütztung
BassBox
-
"Binary Linker"? Nie gehört.
Und denkst du nicht, dass der mit einem eigenen Format nicht zurecht kommen wird?
Zu den TC-Reg-Einträgen: Denk schon. Warum schaust du nicht nach?
Und Borland ist doch von irgendwem übernommen worden?
Ich glaube nicht, dass das CRight automatisch weg ist.
GrußGeändert von sheel (18.03.11 um 08:54 Uhr)
-
18.03.11 17:35 #20BassBox Tutorials.de Gastzugang
Ich meine Das Anderst: Ich nehme einen linker der zu bin linkt. Ich habe das jetzt so:
kernel.c wird mit einer obj datei zusammen gelinkt die eine externe Main Funktion aufruft:Code :1 2 3 4 5 6
[Bits 32] extern _main ;definiert externe main funktion global start ;globale startmarke start: call _main ;rufe die main funktion in c kernel auf. int 17h ;springe zurück (system eigene funktion)
Da die beiden Programme noch objekt dateien sind, sind die globalen labels noch verfügbar.
Das funktioniert jetzt einwand frei.
Ich verwende jtzt den Djgpp den ich dan als paket an meine freunde gebe, mit nem installer Batch sktipt welches dan auch meine headder und linker skripte mitgibt.
Dane für deine Hilfe
BassBox
-
20.03.11 22:11 #21BassBox Tutorials.de Gastzugang
Kennst du einen 32bit linker für den tc der zu binary linkt? Ich brauche dringend einen!
LG
BassBoxGeändert von BassBox (21.03.11 um 15:26 Uhr)
Ähnliche Themen
-
Internetfreigabe per Crossover
Von snow99 im Forum NetzwerkeAntworten: 1Letzter Beitrag: 28.12.06, 20:31 -
Crossover Kabel bei 1000BaseT
Von Sinac im Forum NetzwerkeAntworten: 3Letzter Beitrag: 23.08.05, 20:38 -
DCOM95 mit Crossover installieren
Von lordofscotland im Forum Linux & UnixAntworten: 1Letzter Beitrag: 20.10.04, 20:55 -
Crossover mit Mandrake?
Von Gabi im Forum Linux & UnixAntworten: 1Letzter Beitrag: 12.01.04, 23:39 -
Codeweavers CrossOver Office 2.0.0 Erfahrungsberichte?
Von ToniCE im Forum PhotoshopAntworten: 1Letzter Beitrag: 07.07.03, 00:13



5Danke

Zitieren

Login





