- MultiPlus Wechselrichter Insel und Nulleinspeisung Conrad         
Ergebnis 1 bis 4 von 4

Thema: Programm schreibt weiteres Programm?

Hybrid-Darstellung

Vorheriger Beitrag Vorheriger Beitrag   Nächster Beitrag Nächster Beitrag
  1. #1
    Erfahrener Benutzer Robotik Einstein Avatar von Geistesblitz
    Registriert seit
    16.03.2011
    Ort
    Dresden
    Alter
    37
    Beiträge
    1.937

    Programm schreibt weiteres Programm?

    Ich hab mal eine eher theoretische Frage:
    Ist es in irgendeiner Programmiersprache möglich, eine Programmdatei während der Laufzeit zu schreiben und diese dann aufzurufen?
    Sowas würde, denk ich mal, bei genetischen Algorithmen Sinn machen, oder? Wenn man im Verlaufe dessen versucht, ein möglichst gut arbeitendes Programm zur Erfüllung einer Aufgabe zu erhalten.
    Die Frage hatte ich mir nämlich gestellt, als ich mal den "3D Virtual Creature Evolution" ausprobiert hatte. Irgendwo muss ja die Verhaltensweise der einzelnen Individuen hinterlegt sein.

  2. #2
    Erfahrener Benutzer Begeisterter Techniker
    Registriert seit
    08.04.2009
    Ort
    an der Ostsee
    Beiträge
    334
    moin,

    im einfachsten Falle schon in Assembler, WENN eine http://de.wikipedia.org/wiki/Von-Neumann-Architektur vorliegt.
    Bei Hochsprachen muss ein Interpreter vorhanden sein.

    Mit Gruß
    Peter

  3. #3
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    02.06.2011
    Beiträge
    158
    Ja, von Maschinenseite ist das meist moeglich (ausser die Hardware schuetzt den Programmspeicherbereich vor Modifikationen und laesst den PC (programcounter) auch nicht aus diesem Bereich raus).
    Auch selbstmodifizierender Code ist moeglich (und z.b. bei Viren beliebt, um einer einfachen Identifikation durch Scanner zu entgehen).

    Praktisch ist sowas aber nur recht komliziert zu debuggen und zu warten

    Manche Sprachen (wie z.B. APL) sehen sogar eigene Befehle dazu vor (in APL gibts eben ein 'execute', dem ein beliebiger (Programm-)Text zur Ausfuehrung uebergeben werden kann, selbstverstaendlich auch ein zur Laufzeit generierter).

    Oder etwas praktischer: Sieh dir Woas (Wiki on a Stick) an, das ist eine selbstmodifizierende XHTML-Datei. Mit einem Browser aufgerufen, kannst Du Zeug 'reintun', das ist dann automatisch in dem File drinnen - sonst wird nichts gebraucht

    In Unix mit Shell-Scripts auch ganz leicht moeglich, LISP hat sowas (IIRC) eingebaut und PROLOG besteht sowieso nur aus einer Art ausfuehrbarer Datenbank, die sich gerne mal zur Laufzeit selbst erweitert..

    Edit: etwas roboternaeher: Sieh Dir mal http://freecode.com/projects/picsuperoprimizer (netter Tippfehler in der URL) an, da werden alle moeglichen Codesequenzen (innerhalb eines relativ engen Rahmens) generiert und ausprobiert, ob eine vllt. zufaellig genau das macht, was man braucht..
    Hat also durchaus auch praktische Anwendungsmoeglichkeiten (die Idee eines Superoptimizers ist ueber 20 Jahre alt).
    Geändert von Calis007 (11.01.2012 um 10:22 Uhr)

  4. #4
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    02.06.2011
    Beiträge
    158
    "Bei Hochsprachen muss ein Interpreter vorhanden sein."

    Nicht notwendigerweise. Du kannst z.B. mit einem C-Programm ein File generieren, das direkt (von der Hardware) ausfuehrbar ist (macht z.B. jeder Compiler), uind das dann aufrufen. Da ist kein Interpreter involviert.
    Oder erstmal ein C-Programm generieren und dann automatisch den Compiler starten und das Resultat aufrufen; klappt auch.

Ähnliche Themen

  1. Programm in Visual Basic Programm einbetten
    Von Sven04 im Forum Software, Algorithmen und KI
    Antworten: 1
    Letzter Beitrag: 18.09.2007, 00:27
  2. C programm für AT90S4433 in C programm für ATmega8 umwandeln
    Von dremler im Forum C - Programmierung (GCC u.a.)
    Antworten: 8
    Letzter Beitrag: 14.08.2007, 20:22
  3. C-Programm in C-Programm einbinden?
    Von Roberto im Forum C - Programmierung (GCC u.a.)
    Antworten: 6
    Letzter Beitrag: 10.08.2007, 00:26
  4. Sobel operator und weiteres vorgehen
    Von GrinderFX im Forum Software, Algorithmen und KI
    Antworten: 8
    Letzter Beitrag: 14.09.2006, 19:52
  5. Battarien Ladegeräte und weiteres
    Von honkitonk im Forum Elektronik
    Antworten: 1
    Letzter Beitrag: 12.08.2005, 21:27

Berechtigungen

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

Labornetzteil AliExpress