Anzeige:
Ergebnis 1 bis 9 von 9

Thema: Wie ein monolithisches Programm erstellen?

  1. #1
    Registrierter Benutzer
    Registriert seit
    22.03.2001
    Beiträge
    650

    Question Wie ein monolithisches Programm erstellen?

    Wie kann man eigentlich ein monolithisches Programm erstellen, also ein Programm, das ausgeführt werden kann ohne irgendwelche libs (d. h. ohne librarys die nicht eincompiliert sind) ?

    Bei Microcontrollern ist ein Programm ja automatisch monolithisch, weil es dort nichts anderes gibt, aber PC-Programme bentöigen ja defaultmäßig einige libs wie die /lib/libsafe.so.2.

  2. #2
    Administrator Avatar von anda_skoa
    Registriert seit
    17.11.2001
    Ort
    Graz, Österreich
    Beiträge
    5.477
    Stichwort "static linking"

    Betriebsystem brauchts du natürlich schon noch.

    Für was brauchst du das?

    Ciao,
    _
    Qt/KDE Entwickler
    Debian Benutzer

  3. #3
    Registrierter Benutzer
    Registriert seit
    22.03.2001
    Beiträge
    650
    Momentan brauche ich es nicht, aber ich will es mal wissen für den Fall, dass das Programm auf ziemlich jeden Rechner laufen können soll (unter Linux).

  4. #4
    Registrierter Benutzer Avatar von peschmae
    Registriert seit
    14.03.2002
    Ort
    Schweizland
    Beiträge
    4.549
    auch statisch gelinkte programme sind plattformabhängig also auf jedem x86-Linux/FreeBSD-Rechner

    ausserdem ist es zumindest für debian besser, ein paket mit den korrekten abhängigkeiten zu erstellen

    MfG Peschmä
    The greatest trick the Devil ever pulled was convincing the world he didn't exist. -- The Usual Suspects (1995)
    Hey, I feel their pain. It's irritating as hell when people act like they have rights. The great old one (2006)

  5. #5
    Registrierter Benutzer
    Registriert seit
    25.05.2003
    Ort
    München
    Beiträge
    20
    Man kann auf jeden Fall alle Bibliotheken umgehen, wenn man die Kernelfunktionen direkt anspricht. Die Programme werden damit aber sehr schwierig zu portieren.

    Mit Assembler läßt sich sowas recht einfach realisieren.
    Hier findest Du eine Übersicht über alle Syscalls unter Linux
    http://www.lxhp.in-berlin.de/lhpsyscal.html

    Für Windowsplattformen gibt es auch eine schöne Liste (leider hab ich grad die URL nicht im Kopf). Such einfach mal nach Ralf Brown's Interruptlist.
    Neulich bei Microsoft: "Hey, it compiles. Ship it..."

  6. #6
    Administrator Avatar von anda_skoa
    Registriert seit
    17.11.2001
    Ort
    Graz, Österreich
    Beiträge
    5.477
    Original geschrieben von peschmae
    auch statisch gelinkte programme sind plattformabhängig also auf jedem x86-Linux/FreeBSD-Rechner
    Außerdem, bei nicht gerade trivialen Programmen, riesig groß.


    ausserdem ist es zumindest für debian besser, ein paket mit den korrekten abhängigkeiten zu erstellen
    Das ist immer besser.
    Selbst wenn man alle Abhängigkeiten mit reinpackt, ist es noch besser als statisches linken.

    Statisch linken tut man vielleicht einen Betriebsysteminstaller, oder eventuell noch einen Packetmanager.

    Ciao,
    _
    Qt/KDE Entwickler
    Debian Benutzer

  7. #7
    Registrierter Benutzer
    Registriert seit
    22.03.2001
    Beiträge
    650
    Aha, danke.
    Wie sagt man denn dem gcc, dass er statisch linken soll?

  8. #8
    Registrierter Benutzer Avatar von Boron
    Registriert seit
    07.01.2002
    Beiträge
    827
    Suchfunktion der Forums oder -static .
    Gruß Boron (der sich oft wegen mieser Rechtschreibung anderer die Augen reiben muss)

    LINUX IS LIKE AN INDIAN TENT: NO GATES, NO WINDOWS AND AN APACHE INSIDE!
    Hardware Monitoring unter Linux -> http://santafu.sourceforge.net (Temperaturen, Lüfterdrehzahlen und Spannungen)

  9. #9
    Registrierter Benutzer
    Registriert seit
    25.01.2003
    Beiträge
    222
    hier die suchfunktion:
    http://www.mrunix.de/forums/search.p...der=descending

    gruss
    Arthur
    ---------
    irc.mrunix.de #mrunix

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •