Zum Inhalt springen

cpp Dateien


wulfgang

Empfohlene Beiträge

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????

Link zu diesem Kommentar
Auf anderen Seiten teilen

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?

Link zu diesem Kommentar
Auf anderen Seiten teilen

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.

Link zu diesem Kommentar
Auf anderen Seiten teilen

Moin,

ja ich weiß der Funktionsaufruf ohne void einfach nur test;

Müsste die aufgerufene Funktion nicht connect statt functionconnect heißen? :P

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.

Link zu diesem Kommentar
Auf anderen Seiten teilen

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

Link zu diesem Kommentar
Auf anderen Seiten teilen

Dein Kommentar

Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...