Wozu QuickBuild?
Übersicht

![]() |
SkabusBetreff: Wozu QuickBuild? |
![]() Antworten mit Zitat ![]() |
---|---|---|
Hallo,
Ich wollte mal fragen, wozu die Funktion bei den Build Options in BlitzMax "Quick Build" gut ist? Ich habe bei Aves Certim langsam das Problem dass mein Code über 6000 Zeilen lang ist und ich deswegen gerade auf meinem eePC teilweise 4 Minuten warten muss bis er mein Projekt compiliert hat... Geht das mit Quick Build schneller?Bissher gabs gefühlt keinen Unterschied(hab Quick Build und Debug Build getaggt)... Und wenn nicht, gibt es,ähnlich wie bei C++ mit den O-Dateien, ne Möglichkeit Codeteile die nicht geändert wurden nicht bei jedem Compiliervorgang neuzukompilieren? Würd mich über Hinweise freuen! Danke! MfG Ska |
||
"In einer so verrückten Welt, kann man um in ihr zu überleben nur eines tun, nämlich eben jenes werden: Ein Verrückter!" -Selbstzitat
aktuelles Projekt: Aves Certim - Der Galgen ist nicht weit! Ein SNES-RPG mit Handels- und Wirtschaftselemente. Infos?Hier: http://www.blitzforum.de/worklogs/234/ Besucht meine Seite: www.seelenfriedhof.de.vu |
![]() |
D2006Administrator |
![]() Antworten mit Zitat ![]() |
---|---|---|
Ja, in dem du Codeteile importierst statt inkludierst. So lus ich das zumindest mal in der Hilfe. | ||
Intel Core i5 2500 | 16 GB DDR3 RAM dualchannel | ATI Radeon HD6870 (1024 MB RAM) | Windows 7 Home Premium
Intel Core 2 Duo 2.4 GHz | 2 GB DDR3 RAM dualchannel | Nvidia GeForce 9400M (256 MB shared RAM) | Mac OS X Snow Leopard Intel Pentium Dual-Core 2.4 GHz | 3 GB DDR2 RAM dualchannel | ATI Radeon HD3850 (1024 MB RAM) | Windows 7 Home Premium Chaos Interactive :: GoBang :: BB-Poker :: ChaosBreaker :: Hexagon :: ChaosRacer 2 |
![]() |
BladeRunnerModerator |
![]() Antworten mit Zitat ![]() |
---|---|---|
Quickbuild baut nur das neu was eine Änderung erfahren hat.
Wenn Du nun Dateien includierst gehören sie für Max zur includierenden Datei und daher wird jede Änderung in einer der Dateien zum rebuild aller führen. Anders mit import: hier werden wirklich nur die geänderten Dateien übernommen, da BMax die unveränderten Teile einfach neu einlinkt. |
||
Zu Diensten, Bürger.
Intel T2300, 2.5GB DDR 533, Mobility Radeon X1600 Win XP Home SP3 Intel T8400, 4GB DDR3, Nvidia GF9700M GTS Win 7/64 B3D BMax MaxGUI Stolzer Gewinner des BAC#48, #52 & #92 |
![]() |
Skabus |
![]() Antworten mit Zitat ![]() |
---|---|---|
Aso verstehe.Danke^^
Und wie muss ich meinen Code dann entsprechend organsieren wenn ich z.B. in codeTeil1.bmx z.B. einen Type definiert habe und diesen dann in codeTeil2.bmx nutzen will? Scheint sich ja nicht so einfach zu machen statt Include einfach Import hinzuschreiben....? MFG SKa |
||
"In einer so verrückten Welt, kann man um in ihr zu überleben nur eines tun, nämlich eben jenes werden: Ein Verrückter!" -Selbstzitat
aktuelles Projekt: Aves Certim - Der Galgen ist nicht weit! Ein SNES-RPG mit Handels- und Wirtschaftselemente. Infos?Hier: http://www.blitzforum.de/worklogs/234/ Besucht meine Seite: www.seelenfriedhof.de.vu |
![]() |
BladeRunnerModerator |
![]() Antworten mit Zitat ![]() |
---|---|---|
Wenn du in 1.bmx einen Type definierst kannst
du in 2.bmx normal augf ihn zugreifen sobald du in den startzeilen von 2.bmx import "1.bmx" hast |
||
Zu Diensten, Bürger.
Intel T2300, 2.5GB DDR 533, Mobility Radeon X1600 Win XP Home SP3 Intel T8400, 4GB DDR3, Nvidia GF9700M GTS Win 7/64 B3D BMax MaxGUI Stolzer Gewinner des BAC#48, #52 & #92 |
![]() |
Skabus |
![]() Antworten mit Zitat ![]() |
---|---|---|
ja soweit ist das klar.
Heißt das dann aber nicht auch, dass ich einen Type den ich in 1.bmx definiert habe nicht in mehreren *.bmx-Dateien nutzen kann? Wenn ich versuche z.B. 1.bmx in 2.bmx zu importieren und dann später noch in 3.bmx dann krieg ich immer einen Fehler dass er irgendwelche *.i-Dateien nicht finden kannn.... Der Sinn von include war ja, dass ich bestimmte Dinge die ich globla im Programm brauche, vor allem Types, überall im Code nutzen kann.Das geht ja dann scheinbar mit Import nicht mehr oder? MfG Ska |
||
"In einer so verrückten Welt, kann man um in ihr zu überleben nur eines tun, nämlich eben jenes werden: Ein Verrückter!" -Selbstzitat
aktuelles Projekt: Aves Certim - Der Galgen ist nicht weit! Ein SNES-RPG mit Handels- und Wirtschaftselemente. Infos?Hier: http://www.blitzforum.de/worklogs/234/ Besucht meine Seite: www.seelenfriedhof.de.vu |
![]() |
Artemis |
![]() Antworten mit Zitat ![]() |
---|---|---|
Kann ich so nicht bestätigen:
Ich habe d.bmx ind c.bmx und b.bmx importiert und die beiden letzteren in a.bmx. Und das läuft. |
||
![]() |
BladeRunnerModerator |
![]() Antworten mit Zitat ![]() |
---|---|---|
Das einzige was nicht geht ist ein zirkulärer Import, da steigt der bmk aus.
Aber es ist kein Problem in mehreren Files identische .bmx zu importieren, im Gegenteil, das ist gängige Praxis. Der BMK wählt dann die benötigten Imports aus und vermeidet mehrfaches einbinden. Zur Benutzung: Import "bla.bmx" importiert ein normales Sourcefile. Import bla.blub importiert das Modul blub aus dem Scope bla. hier wird ein Modul im bmax-mod-Ordner erwartet. Wenn das bei Dir nicht funktioniert möchte ich Dich bitten einen Beispielcode zu posten der das Problem abbildet, dann kann man Dir leichter helfen. |
||
Zu Diensten, Bürger.
Intel T2300, 2.5GB DDR 533, Mobility Radeon X1600 Win XP Home SP3 Intel T8400, 4GB DDR3, Nvidia GF9700M GTS Win 7/64 B3D BMax MaxGUI Stolzer Gewinner des BAC#48, #52 & #92 |
Dreamora |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Zum zirkulären Import eine Empfehlung: In dem Falle würde ich mir eine Idee die an Systeme wie Java Packages anlehnt zu nutze machen. heisst wenn du klassen hast die einander benötigen, pack eine hauptdatei hinzu ("das package"), die alle inkludiert statt importiert und dann importiere diese hauptdatei in anderen Files.
Dadurch kannst du immer noch in hohem masse vom import profitieren, da es nur einen rebuild geben wird wenn sich im package was ändert |
||
Ihr findet die aktuellen Projekte unter Gayasoft und könnt mich unter @gayasoft auf Twitter erreichen. |
![]() |
Skabus |
![]() Antworten mit Zitat ![]() |
---|---|---|
Vielen Dank für die zahlreichen Antworten ^^
Ich denke mal ich habs verstanden. @BladeRunner: Mein Fehler war, dass ich eine Datei a.bmx und eine Datei .bmx hatte.Dann habe ich b.bmx in a.bmx importiert und a.bmx in b.bmx... Und da gab es diesen Fehler.Macht ja Sinn.Sowas bringt ja nix. Das angesprochene Problem ist auch klar.Ich werd dann wohl einige Dinge umstrukturieren müssen. Bissher benötigen verschiedenene bmx-Dateien Typdefinitionen aus anderen bmx-Dateien. Das müsste ich dann noch irgendwie umgehen... Also vielen Dank nochmal! MfG Ska |
||
"In einer so verrückten Welt, kann man um in ihr zu überleben nur eines tun, nämlich eben jenes werden: Ein Verrückter!" -Selbstzitat
aktuelles Projekt: Aves Certim - Der Galgen ist nicht weit! Ein SNES-RPG mit Handels- und Wirtschaftselemente. Infos?Hier: http://www.blitzforum.de/worklogs/234/ Besucht meine Seite: www.seelenfriedhof.de.vu |
Dreamora |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Skabus hat Folgendes geschrieben: Bissher benötigen verschiedenene bmx-Dateien Typdefinitionen aus anderen bmx-Dateien. Das müsste ich dann noch irgendwie umgehen... siehe mein posting oben ![]() wenn du mit dem im hinterkopf strukturierst solltest du logische blöcke bilden können die unabhängig sind voneinander (wenn nicht ist der code grausig designt und du kannst fast wetten darauf abschliessen das du massive probleme bekommen wirst bugs zu finden weil sie durch die abhängigkeit "überall" her kommen können) |
||
Ihr findet die aktuellen Projekte unter Gayasoft und könnt mich unter @gayasoft auf Twitter erreichen. |
![]() |
Skabus |
![]() Antworten mit Zitat ![]() |
---|---|---|
Jap, danke Dreamora ![]() Ne ich hatte von Anfang an darauf geachtet den Code strukturieert und logisch von einander zu trennen.Es hat zwar ne Weile gedauert aber nun ist alles schön mit Import umstrukturiert und der Buildprozess dauert jetzt selbst mit Debug-Build nur noch wenige Sekunden. Hat sich wirklich gelohnt.Wenns auch noch ein paar kleinere Bugs gibt XD MfG Ska |
||
"In einer so verrückten Welt, kann man um in ihr zu überleben nur eines tun, nämlich eben jenes werden: Ein Verrückter!" -Selbstzitat
aktuelles Projekt: Aves Certim - Der Galgen ist nicht weit! Ein SNES-RPG mit Handels- und Wirtschaftselemente. Infos?Hier: http://www.blitzforum.de/worklogs/234/ Besucht meine Seite: www.seelenfriedhof.de.vu |
![]() |
Kernle 32DLL |
![]() Antworten mit Zitat ![]() |
---|---|---|
Ggf. kann es sich auch lohnen den Code als Modul auszulagern. Eine gute Anleitung dazu findest du hier:
http://www.blitzbasic.com/Comm...opic=42290 Tipp von mir: Ersatz das -r beim kompilieren aber durch ein -a, sonst kompilierst du nicht für den Debug-Modus (-a kompiliert einfach beides, release und debug) |
||
Mein PC: "Bluelight" - Xtreme Gamer PC [Video]
Meine Projekte: Cube-Wars 2010 [Worklog] Anerkennungen: 1. Platz BCC #7 , 1. Platz BCC #22 , 3. Platz BAC #89 Ich war dabei: NRW Treff III, IV ; Frankfurter BB Treffen 2009 |
![]() |
BtbN |
![]() Antworten mit Zitat ![]() |
---|---|---|
Garnichts(Weder -r noch -d) kompiliert für beides. -a sagt, er soll ausnahmslos alle Module bauen, nicht nur die geänderten. | ||
![]() |
Kernle 32DLL |
![]() Antworten mit Zitat ![]() |
---|---|---|
BtbN hat recht, sorry - Sinnvoll ist Modulauslagerung trotzdem.
888er Beitrag xD |
||
Mein PC: "Bluelight" - Xtreme Gamer PC [Video]
Meine Projekte: Cube-Wars 2010 [Worklog] Anerkennungen: 1. Platz BCC #7 , 1. Platz BCC #22 , 3. Platz BAC #89 Ich war dabei: NRW Treff III, IV ; Frankfurter BB Treffen 2009 |
Übersicht


Powered by phpBB © 2001 - 2006, phpBB Group