cpp aus cpp ausführen
-
moin!
ich suche eine einfache möglichkeit ein programm zu schreiben, das folgendes leistet:
über tastatureingabe soll der benutzer auswählen welche cpp ausgeführt wird.
meinetwegen:...
cout << "bitte wählen sie die datei aus: " << endl;
cin >> eingabe;
cout << "(1) prog1.cpp \n(2) prog2.cpp" << endl;
...also quasi sowas in der art: über cin datei auswählen und dann wird das programm gestartet. wie mache ich sowas am schlausten? brauch ich da ein makefile?
besten dank im voraus.gruß kojak
-
cpp-Files sind nicht ausführbar!
-
Wieso soll der Benutzer auswaehlen koennen welche .cpp "gestartet" werden soll? Das hoert sich fuer mich sehr merkwuerdig an.
Was moechtest du denn machen?
-
Klar geht das.
Du musst die .cpp Datei nur kompilieren und das entstandene Executable ausführen. setzt halt nur voraus, dass auf dem Zielsystem ein C++ Compiler installiert ist. Kannst zum Übersetzen ja Standardeinstellungen vorgeben.
Viel Erfolg!
-
<Besserwisser>Dann wird aber das Executable ausgeführt, nicht die cpp-Datei.</Besserwisser>
Dummerweise fürht das Kompilieren einer cpp-Datei nicht unbedingt zu einem Executable.
-
Danke schon mal für die Antworten!
Also eigentlich erstelle ich gerade ein Programm zum Thema "Secret Sharing" (http://de.wikipedia.org/wiki/Secret_Sharing). Dabei geht es vereinfacht gesagt darum ein Geheimnis (bspw. Codewort) unter einer gewissen Anzahl von Personen zu teilen. Um das Geheimnis zu rekonstruieren müssen aber meinetwegen 3 von 5 Personen zusammen kommen (Anwendung zum Beispiel Rezept von Coca Cola sichern, beim Militär soll nicht einer allein den großen roten Knopf drücken können, ...).
Das Ganze erfolgt in zwei Schritten:
1. Geheimnis verschlüsseln und sog. "Shares" (Codes für jeden Teilnehmer) erstellen.
2. Geheimnisrekonstruktion über die Shares.
Ich würde das Programm gerne so aufziehen, dass ich am Anfang wählen kann, ob ich Shares erzeugen will oder ein Geheimnis rekonstruieren will (hier würde ich dann die shares von den Teilnehmern abfragen).
Dabei sollen die beiden Möglichkeiten jeweils in einer eigenen cpp-datei stehen.
Ich hoffe ich konnte das jetzt einigermaßen verständlich erklären.
-
Was Du suchst nennt man "Funktionen". Kann man auch ganz viele von haben, sogar in einem Programm
-
Danke, soweit war ich auch schon :-D. Aber ich hätte das Ganze ja gerne auf mehrere files verteilt. Geht das dann auch so einfach? Sorry, aber ich bin nicht so versiert beim Programmieren.
-
wenn du immer nur "A" oder "B" machen möchtest, dann erstell dir doch gleich zwei verschiedene Programme...
Ich starte ja auch direkt "Word" oder "Excel" und nicht erst "Office" und überlege mir dann, wo ich eigentlich hin will.
-
Kojak schrieb:
Danke, soweit war ich auch schon :-D. Aber ich hätte das Ganze ja gerne auf mehrere files verteilt. Geht das dann auch so einfach?
Ja!
Sorry, aber ich bin nicht so versiert beim Programmieren.
Dann werde es. Ein Programm auf mehrere Einheiten aufteilen ist nicht versiert, das ist Grundlage.
-
Würde ich normal machen, aber das Ganze ist ein zusammengehöriges Projekt.
-
alles klar. dann werde ich mal forschen ;-). vorher schieße ich aber mal ins blaue: binde ich das ganze über
#include "filename.h"
oder so ein?
-
Kojak schrieb:
alles klar. dann werde ich mal forschen ;-). vorher schieße ich aber mal ins blaue: binde ich das ganze über
#include "filename.h"
oder so ein?
Es hat was damit zu tun, aber wenn ich jetzt Ja sage, dann verstehst du das wahrscheinlich falsch. Hast du denn kein Lehrbuch? Sollte so im 3.-4. Kapitel stehen.
Das größte Problem an der Sache ist eigentlich nur, dass viele Leute IDEs benutzen, die diese Details vor dem Programmierer verstecken, so dass man eher eine Anleitung für die jeweilige IDE benötigt, weil die allgemeine Vorgehensweise einem nicht weiterhilft.
-
doch hab ich da: "einführung in die programmierung mit c++" von bjarne stroustrup. ich bin ja auch echt gewillt das selbst zu machen, nur fehlt mir ein schlagwort nach dem ich suchen kann bzw. ein kleines beispiel wie ich sowas anstellen kann.
finde irgendwie immer nur beispiele wie man funktionen in einer datei verwendet und das ist mir klar.
-
btw: ich nutze xcode als editor und nehm dann den gcc.
-
Einfaches Beispiel mir drei Dateien: Ein Header und zwei Quellcode-Dateien, die einzeln übersetzt und dann gelinkt werden:
hallo.hpp:
#ifndef INCLUDED_HALLO_HPP #define INCLUDED_HALLO_HPP void hallo(); #endif
hallo.cpp:
#include "hallo.hpp" #include <iostream> void hallo() { std::cout << "Hallo, Welt.\n"; }
main.cpp:
#include "hallo.hpp" int main() { hallo(); }
Zu übersetzen dann:
g++ -c hallo.cpp g++ -c main.cpp g++ -o hallo hallo.o main.o
Oder auf einmal:
g++ -o hallo hallo.cpp main.cpp
Das erledigt aber die IDE für dich, sofern alle Dateien im Projekt eingtragen sind.
-
tausend dank!