0 registered members (),
984
guests, and 5
spiders. |
Key:
Admin,
Global Mod,
Mod
|
|
|
Lite-C Frage
#170179
11/29/07 17:07
11/29/07 17:07
|
Joined: Oct 2002
Posts: 4,753 Munich, Bavaria, South of Germ...
TripleX
OP
Expert
|
OP
Expert
Joined: Oct 2002
Posts: 4,753
Munich, Bavaria, South of Germ...
|
Hey, In dem anderen Thread von Fogman haben Sie gesagt, dass die Compilerzeiten von Lite-C Programmen steigen werden. Wäre grundsätzlich fantastisch, ich habe trotzdem folgende Fragen: Vielen Dank für die Beantwortung der Fragen.. Ich kenne mich leider in einer Compilerstruktur nicht sonderlich gut aus und kann sie mir daher nicht selber beantworten (stichwort vorkompilierung). Timo
|
|
|
Re: Lite-C Frage
[Re: TripleX]
#170180
11/29/07 17:12
11/29/07 17:12
|
Joined: Sep 2003
Posts: 9,859
FBL
Senior Expert
|
Senior Expert
Joined: Sep 2003
Posts: 9,859
|
Die gelisteten "Deppen-Funktionen" dürften defines sein und werden per Präprozessor durch den eigentlich dahintersteckenden Code ersetzt. Normalerweise sollte das nicht viel Zeit fressen. Die Kompilierzeit wird sich beim Vorkompiliern wohl nicht viel ändern, aber eine vorkompilierte A7 exe ist - anders als bei A6, wo das Script beim Starten compiliert wird, schon fix und fertig. Wartezeit bleibt also lediglich, bis alle Ressourcen wie Sounds, Modelle, Texturen... geladen sind, und die Engine selbst gestartet ist. Vergleich das am besten mit dem Builden von Levels. Im fertigen Spiel bentutz du ja auch das wmb file, und nicht die wmp, die ja erst noch gebuildet werden muß
|
|
|
Re: Lite-C Frage
[Re: FBL]
#170181
11/29/07 17:20
11/29/07 17:20
|
Joined: Oct 2002
Posts: 4,753 Munich, Bavaria, South of Germ...
TripleX
OP
Expert
|
OP
Expert
Joined: Oct 2002
Posts: 4,753
Munich, Bavaria, South of Germ...
|
1) Die "Deppen-Funktionen" sind Defines ja. Ich meinte allerdings auch weniger diese Defines mit den Deppen Funktionen sondern die gesammte Funktion die diese umschließt.. Bsp: Code:
void* a() { var a=0; a+=1; a+=1; //1000 zeilen }
void* a() { var a=0; while(a < 1000) { a += 1; } }
Hier natürlich ein extremer Fall (ich schätze mal die untere Funktion ist schneller kompiliert ). Grundsätzlich nur die Frage ob die Compilingzeit für Code nur von der Code-LÄNGE (wie in der ersten Funktion) oder auch von ihrer Komplexibilität (viele for/if/while Verzweigungen, evtl. Rekrusiv u.v.m.) abhängt. 2) Natürlich ändert sich die Kompilierzeit beim Vorkompilieren nicht. Aber wenn man vorkompilierte Codes z.B. über #include "Vorkompiliertes_Projekt1.ccc" Einbinden könnte... ==> Workflow erhöhung, da man nicht mehr auf abgeschlossene C-Dateien,die sich während der Projektentwicklung nicht mehr ändern werden, beim kompilieren "warten" muss.
|
|
|
Re: Lite-C Frage
[Re: jcl]
#170183
11/30/07 09:49
11/30/07 09:49
|
Joined: Jul 2002
Posts: 4,436 Germany, Luebeck
Xarthor
Expert
|
Expert
Joined: Jul 2002
Posts: 4,436
Germany, Luebeck
|
Quote:
Lite-C enthält keinen Linker, so dass der Code nur als Ganzes und nicht teilweise compiliert werden kann. Diese Einschränkung soll künftig durch die Möglichkeit umgangen werden, Teile des Codes als DLL zu compilieren.
Könnte jemand erörtern welche Vor- und Nachteile DLLs gegenüber einem Linker haben?
Danke im Voraus.
|
|
|
Re: Lite-C Frage
[Re: Xarthor]
#170184
11/30/07 10:08
11/30/07 10:08
|
Joined: Nov 2004
Posts: 7,121 Potsdam, Brandenburg, Germany
Machinery_Frank
Senior Expert
|
Senior Expert
Joined: Nov 2004
Posts: 7,121
Potsdam, Brandenburg, Germany
|
Quote:
Könnte jemand erörtern welche Vor- und Nachteile DLLs gegenüber einem Linker haben?
Während der Linker über eine Logik im User-Interface automatisch entscheiden könnte, welche Teile neu kompiliert werden müssen / können, entscheidest Du das bei einer DLL gewöhnlich selbst. Es ist also mehr manuelle Arbeit.
Die DLL hat gewöhnlich eine Schnittstelle, mit der man dessen bereits kompilierte Funktionen veröffentlicht hat und später ansprechen kann und ist damit vom Design aufwändiger, könnte aber mit einer Doku an andere Entwickler weiter gegeben werden.
Models, Textures and Games from Dexsoft
|
|
|
Re: Lite-C Frage
[Re: jcl]
#170187
11/30/07 11:08
11/30/07 11:08
|
Joined: Nov 2004
Posts: 7,121 Potsdam, Brandenburg, Germany
Machinery_Frank
Senior Expert
|
Senior Expert
Joined: Nov 2004
Posts: 7,121
Potsdam, Brandenburg, Germany
|
Quote:
Linker und DLL unterscheiden sich weniger in "Logik im User-Interface", sondern im Laden des vorcompilierten Codes.
Vielleicht habe ich mich umständlich ausgedrückt.
Die "Logik des UI", wie ich es bezeichnet habe, ist eine Funktion im Compiler, die bei vielen Systemen so funktioniert, dass sie entscheided, ob eine Datei aus Ihrem Quellcode neu kompiliert werden muss oder ob die bereits kompilierte Version einfach per Linker angefügt wird.
Durch solche Tricks kann z.B. ein Delphi-Compiler meine Projekte mit mehreren 100 Tausend Zeilen Quellcode in wenigen Sekunden kompilieren, wenn ich nur einige Änderungen in bestimmten Formularen oder Units vornehme.
Models, Textures and Games from Dexsoft
|
|
|
|