tutorials.de Buch-Aktion 05/2012
Seite 2 von 2 ErsteErste 12
Like Tree5Danke
ERLEDIGT
NEIN
ANTWORTEN
20
ZUGRIFFE
1463
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #16
    BassBox 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
    BassBox
    Geändert von BassBox (17.03.11 um 17:25 Uhr)
     

  2. #17
    Avatar von sheel
    sheel sheel ist gerade online Moderator
    tutorials.de Moderator
    Registriert seit
    Jul 2007
    Beiträge
    4.506
    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ß
     

  3. #18
    BassBox 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
     

  4. #19
    Avatar von sheel
    sheel sheel ist gerade online Moderator
    tutorials.de Moderator
    Registriert seit
    Jul 2007
    Beiträge
    4.506
    "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)
     

  5. #20
    BassBox 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
     

  6. #21
    BassBox Tutorials.de Gastzugang
    Kennst du einen 32bit linker für den tc der zu binary linkt? Ich brauche dringend einen!
    LG
    BassBox
    Geändert von BassBox (21.03.11 um 15:26 Uhr)
     

Ähnliche Themen

  1. Internetfreigabe per Crossover
    Von snow99 im Forum Netzwerke
    Antworten: 1
    Letzter Beitrag: 28.12.06, 20:31
  2. Crossover Kabel bei 1000BaseT
    Von Sinac im Forum Netzwerke
    Antworten: 3
    Letzter Beitrag: 23.08.05, 20:38
  3. DCOM95 mit Crossover installieren
    Von lordofscotland im Forum Linux & Unix
    Antworten: 1
    Letzter Beitrag: 20.10.04, 20:55
  4. Crossover mit Mandrake?
    Von Gabi im Forum Linux & Unix
    Antworten: 1
    Letzter Beitrag: 12.01.04, 23:39
  5. Antworten: 1
    Letzter Beitrag: 07.07.03, 00:13