Wozu QuickBuild?

Übersicht BlitzMax, BlitzMax NG Allgemein

Neue Antwort erstellen

Skabus

Betreff: Wozu QuickBuild?

BeitragDo, Dez 03, 2009 12:37
Antworten mit Zitat
Benutzer-Profile anzeigen
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

D2006

Administrator

BeitragDo, Dez 03, 2009 12:47
Antworten mit Zitat
Benutzer-Profile anzeigen
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

BladeRunner

Moderator

BeitragDo, Dez 03, 2009 12:50
Antworten mit Zitat
Benutzer-Profile anzeigen
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

BeitragDo, Dez 03, 2009 12:58
Antworten mit Zitat
Benutzer-Profile anzeigen
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

BladeRunner

Moderator

BeitragDo, Dez 03, 2009 13:04
Antworten mit Zitat
Benutzer-Profile anzeigen
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

BeitragDo, Dez 03, 2009 13:28
Antworten mit Zitat
Benutzer-Profile anzeigen
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

BeitragDo, Dez 03, 2009 14:21
Antworten mit Zitat
Benutzer-Profile anzeigen
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.

BladeRunner

Moderator

BeitragDo, Dez 03, 2009 14:30
Antworten mit Zitat
Benutzer-Profile anzeigen
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

BeitragDo, Dez 03, 2009 14:59
Antworten mit Zitat
Benutzer-Profile anzeigen
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

BeitragDo, Dez 03, 2009 16:17
Antworten mit Zitat
Benutzer-Profile anzeigen
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

BeitragFr, Dez 04, 2009 5:24
Antworten mit Zitat
Benutzer-Profile anzeigen
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 Smile
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

BeitragFr, Dez 04, 2009 9:25
Antworten mit Zitat
Benutzer-Profile anzeigen
Jap, danke Dreamora Smile

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

BeitragDi, Dez 08, 2009 21:23
Antworten mit Zitat
Benutzer-Profile anzeigen
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

BeitragDi, Dez 08, 2009 21:36
Antworten mit Zitat
Benutzer-Profile anzeigen
Garnichts(Weder -r noch -d) kompiliert für beides. -a sagt, er soll ausnahmslos alle Module bauen, nicht nur die geänderten.

Kernle 32DLL

BeitragMi, Dez 09, 2009 21:35
Antworten mit Zitat
Benutzer-Profile anzeigen
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

Neue Antwort erstellen


Übersicht BlitzMax, BlitzMax NG Allgemein

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group