Hackerboard Wiki HaboBlog
Hackerboard bei Facebook Hackerboard bei Google+ Hackerboard bei Twitter

[HaBo]

 
Code Kitchen Allgemeines Coder-Forum rund um das Programmieren eigenständiger, ausführbarer Programme.

Programm, das anderes Programm erzeugt

Diskussion: Programm, das anderes Programm erzeugt im Forum Code Kitchen, in der Kategorie Software Home; Anzeige Hallo alle zusammen. Ich hab ein schwiereiges Problem bei einem C/C++ Programm und hoffe, dass mir jemand helfen kann. ...

Antwort
Alt 29.10.03, 11:26   #1 (permalink)
 
Registriert seit: 04.07.03
Caesarxyz Leistung: Facit NTK
Likes: 0
Smile Programm, das anderes Programm erzeugt

Anzeige

Hallo alle zusammen.
Ich hab ein schwiereiges Problem bei einem C/C++ Programm und hoffe, dass mir jemand helfen kann.

Also ich möchte ein Programm schreiben, das ein anderes Programm erzeugt.
Hier einmal ein konkretes Beispiel:
Mein programm soll "prog1.exe" heißen. Wenn ich das Programm starte, kann ich einen String eingeben und dann wird eine Datei namens "prog2.exe" angelegt. Wenn ich prog2.exe dann ausführe, soll dieser String, den ich in prog1.exe eingegeben hab auf dem Bildschirm erscheinen.

Weiß jenand von euch wie man das programmiert???
Vielen Dank schon mal im vorraus für mögliche Antowrten!!!

Caesarxyz ist offline   Mit Zitat antworten
Alt 29.10.03, 17:30   #2 (permalink)
 
Registriert seit: 23.09.03
Toxicfire Leistung: Facit NTK
Likes: 0
Standard

In der From nur schwer durchzuführen, da der code bereits compiliert ist. Mein Vorschlag: Eingabe in eine Datei schreiben und aus der Datei lesen und ausgeben.
-------------------------------------
Prinziep:

#include <iostream>
#include <fstream>
#include <string>
using namespace std;

int main()
{ofstream dat_aus;
string dateiname;
cout <<"Dateiname eingeben: ";
cin >> dateiname;
cout <<endl;

dat_aus.open(dateiname.c_str(), ios_base::out);

return 0;
}
----------------------------------

Oder: Code auf mehrere Quell-Dateien verteilen und einen vordeffinierten String durch die eingabe mit "replace" ersetzen, allerdings weis ich nicht, wie du den compiler im code aufrufst (g++ im Prompt mit "g++ quelldatei1.cpp quelldatei2.cpp -o programm"), schau am besten mal in der Hilfe deiner Entwicklungsumgebung.

Natürlich kannst du auch den Code in eine Datei schreiben und diese dann comilieren, wenn diese gefunden wird, allerdings brauchst du dazu nach wie vor den Befehl um den compiler zu starten.
Toxicfire ist offline   Mit Zitat antworten
   
HaBOT
 
- Anzeige -

Werbung ist gerade online    
Alt 29.10.03, 18:48   #3 (permalink)
 
Registriert seit: 02.10.01
Nornagest Leistung: Facit NTK
Likes: 0
Standard

Ich würde auch sagen, entweder du musst einen compiler einbauen, einen installierten verwenden oder entsprechend eine interpretierte Sprache benutzen (am einfachsten ein kleines Shell- oder Bashskript)
Nornagest ist offline   Mit Zitat antworten
Alt 30.10.03, 23:22   #4 (permalink)
 
Registriert seit: 20.04.03
as3jg Leistung: Facit NTK
Likes: 0
Standard

Moin,

das geht viel einfacher...

1. Man schreibe ein kleines Programm:
Code:
# include <stdio.h>
# include <stdlib.h>

int  main(int argc, char **argv)
{
        puts("Dies ist ein ziemlich langer String......................");
        return(0);
}
compiliere es "cc prog.c -oprog -O" und schmeiße überflüssige Symbole weg "strip prog".

Dann schreibst du dir ein kleines Programm, welches "prog" einliest und die Bytes als Dezimalzahl ausgibt.
Davor noch ein Array deklariert, so daß das Ganze dann etwa so aussieht:
Code:
int proggi[2113]={
47,
0,
220,
...
10
};
Die Größe des Arrays ist natürlich die Größe von "prog". Mittels "hd" oder "od" findest du den Offset des Strings heraus. Also, wo er in dem Array steht. Und dorthin schreibst du deinen neuen String.

Dann öffnest du einfach eine Ausgabedatei und gibst das gesamte Array byteweise aus. Datei zu und fertig ist die Laube.

Oder, du erzeugst einfach C-Code, den du nachher compilieren kannst.

Code:
# include <stdio.h>
# include <stdlib.h>

int  main(int argc, char **argv)
{
        char zwi[256];

        puts("Bitte String eingeben:");
        scanf("%s\n", zwi);
        puts("# include <stdio.h>");
        puts("# include <stdlib.h>");
        puts("int main(int argc, char **argv)");
        puts("{");
        printf("   puts(\"%s\\n\", zwi);
        puts("     return(0);");
        puts("}");
        return(0);
}
Ist das einfachste und systemunabhängig...
as3jg ist offline   Mit Zitat antworten
Alt 04.11.03, 16:18   #5 (permalink)
Themenstarter
 
Registriert seit: 04.07.03
Caesarxyz Leistung: Facit NTK
Likes: 0
Standard

Wie ich sehe ist im diesem Threat ganz schön viel zusammengekommen.
Ich möchte mich bei euch allen für euere Beiträge bedankem und hoffe, dass ich euch auch mal weiterhelfen kann.

Caesar
Caesarxyz ist offline   Mit Zitat antworten
Antwort
   
- Anzeige -

Werbung ist gerade online    

[HaBo] » Software Home » Code Kitchen » Programm, das anderes Programm erzeugt
Themen-Optionen
Ansicht

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks sind aus
Pingbacks sind aus
Refbacks sind aus


Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Programm in einen anderen Programm verstecken? Razor666 Doppelte Beiträge 18 04.08.06 12:01
Künstliche Gravitationskraft erzeugt? ghostdog News & Ankündigungen 9 27.04.06 13:59
Programm um anderes Programm zu verstecken FlasherMX Applikationen 0 11.09.05 17:43
ssh2 programm für http proxy oder anderes remote prog für linux Crypt Linux/UNIX 14 27.12.03 16:06
Wie erzeugt man MSI - Setup Packages? Ceth Code Kitchen 1 02.09.02 21:53


1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61