stil_Frage
-
hallo zusammen !
ich habe ein Prog geschrieben, welches aus eine header-datei(.h) und Implementierungsdatei(.cpp) besteht. ich habe gemerkt dass mein programm etwa groß und unübersichtlicher geworden. ich habe darüber nachgedacht und wollte ich einige Func. trennen bzw. erweitern in verschiedene .cpp_dateien und zwar folgendes:header.h // hier ist die klasse definiert
dat1.cpp // für func1
dat2.cpp // für func2
main.cpp // für main_funktion und template_funktion. Hier wird entschieden ob die func1 oder die func2 benutzt wird.meine Fragen lauten:
ist der Zugriff auf einige Funktionen von einer nach einer datei belastend ?
ist es so aufwendig für den Compiler . wie ist mit der Ausführungszeit des Progs und Speicher_sparsamkeit?
ich bitte euch um ihre Meinungen bzw. Vorschläge. und was für Optimierungen , die man unternehmen kann bzw. was soll man da beachten.
ich möchte ich nicht mit der Umstrukturierung bis ihr was dazu sagt.
ich hoffe dass ich mich einigermaßen verständlicher ausgedruckt habe.
vielen dank
-
für wenn belastend? für dich? compiler? cpu? NTFS?
Wenn du compiliesrt und dann linkst hast ja eine fertiges programm ( aus bytecode ) erstellt. wie der jetzt erstellt wird ( aus einer oder 3 ) ist doch idr. egal. was zählst der der code dann in der exe.
was meinst du mit "unübersichtlich" und trennen?
wenn du eine klasse hast sollten die fkt von der klasse ( die klassenmethoden ) auch in der cpp drinnen sein und nicht woanders. ausser es handelt sich um hilfstfkt für die klasse ( z.b. fill_whole_array ) die ja nichts mit der klasse dem objekt zu tun haben, die kannst du gerne trennen
musst halt static machen und parameter für membervar. der klasse mitübergeben
und nein, es ist nicht aufwendig für den compiler, der macht "einfach" von begin to end der dateien. er kommt nicht ins schwitzen oder so, braucht idr. etwas länger
optiemieren? nicht an der dateistruktur sondern an den algorithmen optimiert man
sogar wenn du die dateien "optimierst" hat es ja nichts mit der .exe zu tun wo deine dateien stehen. ausser du verwendest .lib uswbitte korigiert mich wenn ich falsch liege
-
hallo
erstmal vielen Dank für deinen Beitrag.
try_schrieb:für wenn belastend? für dich? compiler? cpu? NTFS?
damit gemeint ist: wenn man statt eine .cpp_datei mehrere .cpp_Datein anlegt ist (ich vermute) belastend vielleicht für die CPU weil die Funktionszugriffe einmal in diese eine datei und andere Mal in der andere .cppdatei)sowie vielleicht für die Speicherverwaltung. anders gesagt:ist es besser eine .cpp Datei oder mehrere .cpp_dateien anzulegen.
ich weiss es nicht!!!(bin Anfänger im Geschäft).
try_schrieb:was meinst du mit "unübersichtlich" und trennen?
das ich alles in einer .cppDatei verlagert habe. das ist nur Schönheitsfrage und damit ich auch nicht den Überblick verliere, wollte ich dass die Memberfunktionen in verschiedenen .cpp_Datei implementiert werden.
try_schrieb:... ausser es handelt sich um hilfstfkt für die klasse ( z.b. fill_whole_array ) die ja nichts mit der klasse ..
sowas habe ich nicht
-
was hast du in der .h und .cpp ?
normalerweise hast du ( kommt auf die application an! )
in der konsole z.b.
machst ja deine konsolenprogramme typischweise
int main() bla bla bla
so das reicht dir ja wenn du da nur dein hallo welt ausgeben willst
wenn du jetzt eine klasse machst ( z.b. person, oder bankonto )
dann trenne das am besten in eine .h und .cpp
dann hast du eine ( z.b. )
main.cpp // hier dein proggi
Person.h
Person.cppwenn du jetzt eine weitere klasse hast Adresse z.b.
dann hast du
main.cpp // hier dein proggi
Person.h
Person.cpp
Adresse.h
Adresse.cppwenn du jetzt irgendwelche grundfkt hast ( z.b. ganz spezielle mathematischen sachen ), dann kannst du die in einer extraklasse machen, kein thema und die dann in der main.cpp includen
Wo liegt bei dir jetzt das Problem?
Es soll dass in einer datei sein, was da reingehört und nicht irgendwie wild auslangern. ( z.b. Person.cpp und Person_hier_noch_ein_bissle.cpp )
-
vienni schrieb:
damit gemeint ist: wenn man statt eine .cpp_datei mehrere .cpp_Datein anlegt ist (ich vermute) belastend vielleicht für die CPU weil die Funktionszugriffe einmal in diese eine datei und andere Mal in der andere .cppdatei)sowie vielleicht für die Speicherverwaltung.
Um es ganz einfach zu sagen: der .exe ist es vollkommen egal, aus wievielen .cpp-Dateien sie erzeugt wurde. Sie wird dadurch weder größer, noch langsamer, noch braucht das Programm mehr Speicher.
-
wer lesen kann ...
sogar wenn du die dateien "optimierst" hat es ja nichts mit der .exe zu tun wo deine dateien stehen