007
19.07.2007, 20:33 Uhr
Pablo
Supertux (Operator)
|
Zitat von Lensflare: |
Den Sinn von der Trennung von .h und .cpp hab ich noch nie so richtig verstanden. Man hat mir gesagt, dass nur .cpp dateien kompiliert werden und .h nicht. die header könnte man dann weitergeben, damit man weiss, welche klassen und methoden es gibt und damit geheimhalten, was die methoden machen.
|
Unsinn, es hat mit Geheimhaltung nichts zu tun. Java/C# arbeiten anders als C/C++. Der C++ Compiler muss wissen, dass es eine Funktion foo geben muss, von Typ 'wasweißich' mit Parametern x,y, wenn die Funktion foo aufgerufen wird. Dem Compiler interessiert nicht, wie diese Funktion foo aussieht, er muss nur wissen, dass es sie gibt. Und genau dafür sind Header Datein, damit du dem Compiler sagst, welche Klassen, Varaiblen, Funktionen usw. vorhanden sind.
Erst der Linker wird sich darum kümmer, wo diese zu finden sind, deswegen übrgibt man bei Bibliotheken die Bib-binaries (.so, .dll, usw) und die Header Datein. -- A! Elbereth Gilthoniel! silivren penna míriel o menel aglar elenath, Gilthoniel, A! Elbereth! |