wulfgang Geschrieben 28. Januar 2009 Geschrieben 28. Januar 2009 Hallo, ich wollte ein größeres Projekt schreiben. Dazu wollte ich einzelne Funktionen auf einzelne Dateien auslagern. Ich benutze Visual Studio 2005. In meiner main cpp Datei steht: // automatic_transfer.cpp : Defines the entry point for the console application. // #include <functionconnect.cpp> #include "stdafx.h" #include "stdafx.h" #include <iostream> using namespace std; int _tmain(int argc, _TCHAR* argv[]) { cout << "Hallo \n"; void functionconnect(void); int warte; cin >> warte; return 0; } Dann habe ich im selben Ordner eine cpp Datei: #include "stdafx.h" #include "stdafx.h" #include <iostream> using namespace std; void connect(void) { int warte; cout << "Test okay"; cin >> warte; } Warum wird meine Funktion in main nicht ausgeführt. Ist doch mit #include <functionconnect.cpp> implementiert????
Klotzkopp Geschrieben 28. Januar 2009 Geschrieben 28. Januar 2009 Erstens ist bindet man (mit einer Ausnahme) Sourcedateien nicht mit Include ein. Und zweitens rufst du deine Funktion nicht auf.
wulfgang Geschrieben 28. Januar 2009 Autor Geschrieben 28. Januar 2009 Moin, Und zweitens rufst du deine Funktion nicht auf. ja ich weiß der Funktionsaufruf ohne void einfach nur test; Erstens ist bindet man (mit einer Ausnahme) Sourcedateien nicht mit Include ein. Ja normalerweise über Headerdateien. Aber dann habe ich ja noch mehr Dateien- dachte wegen Übersicht Gibt es keine Möglichkleit cpp direkt einzubinden?
Klotzkopp Geschrieben 28. Januar 2009 Geschrieben 28. Januar 2009 Gibt es keine Möglichkleit cpp direkt einzubinden?Es geht nicht darum, ob das möglich ist. Dass es möglich ist, siehst du ja an deinem Programm. Es geht darum, ob das sinnvoll ist. Bei 2 Dateien mag es noch möglich sein, den Überblick zu behalten, aber bei mehreren Dateien wird das sehr kompliziert und fehleranfällig. Du musst nämlich sicherstellen, dass die Abhängigkeiten der Dateien einen gerichteten Baum darstellen. Sobald du gegenseitige oder zyklische Abhängigkeiten hast, funktioniert das nicht mehr. Außerdem werden dadurch alle deine Source-Dateien praktisch zu einer einzigen, großen Datei zusammengepackt, die dann auf einmal kompiliert wird. Wenn du also nur eine einzige Datei änderst, muss alles neu kompiliert werden. Wenn dich das nicht überzeugt, dann glaub mir einfach, dass es keine gute Idee ist. Gewöhn es dir ab, bevor es zum Problem wird.
TDM Geschrieben 28. Januar 2009 Geschrieben 28. Januar 2009 Moin, ja ich weiß der Funktionsaufruf ohne void einfach nur test; Müsste die aufgerufene Funktion nicht connect statt functionconnect heißen? Ja normalerweise über Headerdateien. Aber dann habe ich ja noch mehr Dateien- dachte wegen Übersicht Gibt es keine Möglichkleit cpp direkt einzubinden? Deklariere doch die Funktionen in der Headerdatei nur und implementier sie in der cpp.
flashpixx Geschrieben 28. Januar 2009 Geschrieben 28. Januar 2009 Ja normalerweise über Headerdateien. Aber dann habe ich ja noch mehr Dateien- dachte wegen Übersicht Gibt es keine Möglichkleit cpp direkt einzubinden? also ich nutze auch die Möglichkeit von Verzeichnissen in meinem Projekten. z.B. Raytracer Math Matrix.hpp MatrixImplementation.hpp Vector.hpp VectorImplementation.hpp Function3D.h Function3D.cpp GUI ..... Phil
Empfohlene Beiträge
Erstelle ein Benutzerkonto oder melde Dich an, um zu kommentieren
Du musst ein Benutzerkonto haben, um einen Kommentar verfassen zu können
Benutzerkonto erstellen
Neues Benutzerkonto für unsere Community erstellen. Es ist einfach!
Neues Benutzerkonto erstellenAnmelden
Du hast bereits ein Benutzerkonto? Melde Dich hier an.
Jetzt anmelden