Auf Grenzen bei IDEal gestoßen
Übersicht

Omenaton_2Betreff: Auf Grenzen bei IDEal gestoßen |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Hallo !
Ich bin bei meinem großen Projekt schon wieder auf Grenzen gestoßen, diesmal beim IDEal. Wie Einige von euch sich sicherlich noch daran erinnern können, habe ich vor ca einem halben Jahr geschrieben, daß ich von dem standard Blitz Basic IDE verabschieden mußte, weil es nur 1024 KB große Files editieren kann. Damals bin ich auf IDEal umgestigen und war damit bis heute glücklich. (und ja, ich include Programmteile reichlich, aber ich will nicht zu viel auslagern müssen.) Nun, heute wollte IDEal mein Spiel nicht mehr kompilieren, hat offenkundig unwahre Fehlermeldungen ausgegeben, wie "Label not defined" und sowas. Zu erst dachte ich, daß sei ein Fehlverhalten von IDEal oder von dem Compiler, der auch dann auftritt, wenn man eine Schleife oder ein If Then Block nicht richtig abschließt. Ich habe den Stück neu hinzugefügten Code sehr genau unter die Lupe genommen, aber da ist mit 100% Sicherheit alles in Ordnung. Dann um den Fehler zu finden, habe ich angefangen aus der neuen Rutine Stück für Stück Code-Teile zu löschen, um zu sehen, ab wann das Programm wieder läuft. Und ja, nach dem ich ca die Hälft des neuen Codes entfernt habe lief es wieder. Ich habe auch exakt die Zeile gefunden in der es noch läuft und dann wo es nicht mehr kompiliert. In der Zeile war garantiert kein Fehler. Zu meinem Erstaunen mußte ich feststellen, daß nach dem ich eine leere Zeile weniger gemacht habe, ging es pltötzlich. Es ist jetzt so, daß wenn ich nur 1 leere Zeile mehr einfüge, bricht IDEal das Kompilieren mit einem unwahren Fehlermeldung ab. Es ist aber so, daß diese 1 zusätzliche leere Zeile (oder mit x-beliebigem Inhalt) den Fehler nur verursacht, wenn es VOR dem aller letzten Return in gesamten Code eingegeben wird. Ich habe ganz am Ende des Codes noch ein Label, der ProgEnde heißt, wo dann nur ein END Befehl steht. Da kann ich noch leere Zeilen einfügen, aber hilft natürlich nicht. Ich habe dann den neuen Stück Code, den IDEal nicht mehr akzeptieren will mit Include ausgelagert und so läuft alles gut. Also Includes lösen das Problem. Ich bin nur enttäuscht, daß IDEal nur wenig mehr als der Standard IDE verträgt. Mein Haupt Code File ist 1160 Kb groß. Die Summe aller Code Files (also mit Includes ist 3,29 MB groß (aber das scheint egal zu sein.) Mein Haupt Code, in dem ich ohne Platzschaffen durch auslagern nicht mehr editieren kann macht Probleme ab 32782 Zeilen. Na ja, ich bin jetzt wo ich sehe, daß ich das Problem mit Includen lösen kann erstmal beruhigt, aber es ist schon beängstigend, daß immer wieder solche undokumentierte Grenzen gefunden werden. kennt eventuell jemand einen andern guten Editor, der aber garantiert nicht so schnell blöde Einschränkungen aufweist ? (Allerdings sollte die Einschränkung von Blitz Exe herrühren, dann hilft da kein anderer Editor.) |
||
Krischan |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Probier doch mal Dein Programm direkt über Kommanzozeile zu kompilieren, wenn das auch nicht geht hilft nur Code ausmisten:
https://www.blitzforum.de/foru...hp?t=32432 |
||
![]() |
Chrise |
![]() Antworten mit Zitat ![]() |
---|---|---|
vielleicht kann man ja Teile aus dem Code Includen lassen. Z.b. eine bb-datei nur mit Funktionen, eine nur mit Data usw.
Vielleicht kompeliert es ja dann wieder ![]() |
||
Llama 1 Llama 2 Llama 3
Vielen Dank an Pummelie, der mir auf seinem Server einen Platz für LlamaNet bietet. |
Omenaton_2 |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Danke für die Tipps.
Wie gesagt, ich komme jetzt mit dem Problem klar, in dem ich einfach noch mehr als bisher durch Include auslagere. Ich wollte euch alle trotzdem über diese entdeckte Einschränkung informieren. |
||
![]() |
peacemaker |
![]() Antworten mit Zitat ![]() |
---|---|---|
Du solltest dir vlt wirklich das mit den includes angewöhnen.
Ich arbeite an einem Projekt das weitaus mehr als 40 000 Zeilen hat, und da hab ich auch dank den Includes noch schön die übersicht. Ansonsten, IDEal ist schon einer der besten IDEs für BB. |
||
~Tehadon~
www.tehadon.de http://www.blitzforum.de/worklogs/14/ |
BBPro2 |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
hört ihm denn keiner zu ?
er included ohne ende und nur eine der dateien hat ~30,000 zeilen code insgesamt sind es also viel mehr zeilen code wie kann man denn 2 mal den tipp "includen" geben wenn der betroffene vermutlich rund 100 auslagerungsdateien hat?? >_> |
||
CO2ehemals "SirMO" |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
wieviele zeilen von den 40000 sind denn in der Repeat-Schleife (sofern vorhanden)?
weil ich mir ned vorstellen kann, dass ein pc so viele zeilen mehrmals in einer sekunde durchgehen kann. |
||
mfG, CO²
Sprachen: BlitzMax, C, C++, C#, Java Hardware: Windows 7 Ultimate 64-Bit, AMX FX-6350 (6x3,9 GHz), 32 GB RAM, Nvidia GeForce GTX 750 Ti |
![]() |
XeresModerator |
![]() Antworten mit Zitat ![]() |
---|---|---|
...dass die Zeilen da sind, heißt ja nicht, dass sie auch bearbeitet werden. | ||
Win10 Prof.(x64)/Ubuntu 16.04|CPU 4x3Ghz (Intel i5-4590S)|RAM 8 GB|GeForce GTX 960
Wie man Fragen richtig stellt || "Es geht nicht" || Video-Tutorial: Sinus & Cosinus THERE IS NO FAIR. THERE IS NO JUSTICE. THERE IS JUST ME. (Death, Discworld) |
![]() |
Starwar |
![]() Antworten mit Zitat ![]() |
---|---|---|
Wie schon in anderen Themen besprochen (ich denke mal das ist noch aktuell): Goto/Gosub ganz raus und Funktionen machen. Die kann man dann auch ganz leicht auslagern. Und wenn die die Dateien nur durchnummeriert.
MFG |
||
CO2ehemals "SirMO" |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
@Xeres:
Das heißt es nicht, da hast du recht, aber schon bei 5000 zeilen in einer schleife bin ich ganz schön geplättet. |
||
mfG, CO²
Sprachen: BlitzMax, C, C++, C#, Java Hardware: Windows 7 Ultimate 64-Bit, AMX FX-6350 (6x3,9 GHz), 32 GB RAM, Nvidia GeForce GTX 750 Ti |
![]() |
BladeRunnerModerator |
![]() Antworten mit Zitat ![]() |
---|---|---|
Nicht die Anzahl an Zeilen ist das Entscheidende, als vielmehr der Aufwand den sie auslösen. Moderne Rechner bringen es auf einige Milliarden Taktzyklen pro Sekunde, das macht immer noch mehrere Hundert Millionen Operationen pro Sekunde. Wenn Du also 'flotte' Operationen wie zB. Additionen machst kannst du Millionen davon durchschleusen.
Der Quellcode eines modernen Betriebssystems hat sicherlich einige Millionen Zeilen Umfang, der Kernbetrieb wird sicher auch mehrere zigtausend Schritte benötigen, ohne dass es den Prozessor in die Knie zwingt. |
||
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 |
![]() |
mpmxyz |
![]() Antworten mit Zitat ![]() |
---|---|---|
Was auch immer du machst, bei meinem Ideal klappte ein Test auch mit 1345 KiB bzw. ein anderer Test mit 1619 KiB.
Bei diesen Größen hat man meiner Meinung nach aber das logische Trennen verschlafen. Da sollte man sich nicht so sehr über undokumentierte Grenzen aufregen. Mehrere Fragen aus Interesse: Wozu hast du eine Datei mit mehr als 30.000 Zeilen und mehr als einem MiB Code bzw. was wird dort alles gemacht? Passt das alles zusammen? Was kann die Spieleengine alles, wenn sie so viel Code braucht? Da diese Fragen relativ Offtopic sind, kannst du auch per PN antworten. mfG mpmxyz P.S.: Ich stehe weiterhin zu meinen Aussagen des letzten Jahres. |
||
Moin Moin!
Projekte: DBPC CodeCruncher Mandelbrot-Renderer |
![]() |
peacemaker |
![]() Antworten mit Zitat ![]() |
---|---|---|
BBPro2 hat Folgendes geschrieben: hört ihm denn keiner zu ?
er included ohne ende und nur eine der dateien hat ~30,000 zeilen code insgesamt sind es also viel mehr zeilen code wie kann man denn 2 mal den tipp "includen" geben wenn der betroffene vermutlich rund 100 auslagerungsdateien hat?? >_> Dann halt auch diese 30 000 aufteilen? Ich verstehe das nicht ganz, ich mein wenn ein Subsystem so viele Zeilen braucht, kann man es doch immernoch aufteilen? Zitat: wieviele zeilen von den 40000 sind denn in der Repeat-Schleife (sofern vorhanden)?
weil ich mir ned vorstellen kann, dass ein pc so viele zeilen mehrmals in einer sekunde durchgehen kann. Viele ![]() Das ist aber wie Bladerunner schon sagt, irrelevant, es ist viel wichtiger was darin passiert. |
||
~Tehadon~
www.tehadon.de http://www.blitzforum.de/worklogs/14/ |
Omenaton_2 |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Bitte liest zu erst genau die Nachricht auf die ihr antworten wollt und überlegt auch erstmal was ihr schreibt und ob das was ihr schreibt auch irgendwie hilfreich sein kann oder nicht.
Ich habe deutlich geschrieben, daß ich schon sehr viel durch include ausgelagert habe UND das ich mein neu aufgetauchtes Grenz-Problem durch noch mehr includen lösen werde. Zu den anderen Vermutungen und aus Unkenntnis resultierenden Unverständnissen äußere ich mich gar nicht. |
||
![]() |
Smily |
![]() Antworten mit Zitat ![]() |
---|---|---|
Ich glaube ja, es besteht eher ein grundlegendes Problem mit deinem Code-Design
Soviel Code ist selbst für große BB-Projekte enorm. Grüße, Smily |
||
Lesestoff:
gegen Softwarepatente | Netzzensur | brain.exe | Unabhängigkeitserklärung des Internets "Wir müssen die Rechte der Andersdenkenden selbst dann beachten, wenn sie Idioten oder schädlich sind. Wir müssen aufpassen. Wachsamkeit ist der Preis der Freiheit --- Keine Zensur!" stummi.org |
BBPro2 |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
das kommt ganz drauf an was man programmiert smily
mir kommt es auch hammer viel vor und ich weiß nicht wie er das ohne copy & paste geschafft haben soll, sofern folgendes gilt: 1) er arbeitet alleine an dem projekt (oder nur zu 2.) 2) er ist nicht arbeitslos und opfert 10h/Tag für das Projekt wenn ers mit copy & paste erreicht hat ists sein fehler, denn dann ist der code schlichtweg falsch designed andernfalls: respekt, bin mal gespannt wann ich erstmals ein so großes projekt zu gesicht bekomme und damit arbeiten muss... ich glaube das wird ne harte nuss darf man eigentlich fragen um welches projekt es sich handelt? |
||
![]() |
peacemaker |
![]() Antworten mit Zitat ![]() |
---|---|---|
Das ist schneller erreicht als man glaubt... und wenn man z.B. über 2 oder 3 Jahre daran arbeitet, dann kann es sowas schon geben.
Stranded 2 hatte ja auch um die 50 oder 40 000... |
||
~Tehadon~
www.tehadon.de http://www.blitzforum.de/worklogs/14/ |
![]() |
faeX |
![]() Antworten mit Zitat ![]() |
---|---|---|
Ich glaube das besagte Projekt ist "Tehadon". (einmal in die Signatur geguckt und schon kam der Geistesblitz...) EDIT: Fail...
Ansonsten, ja, ich wiederhole nur: Includen. Includen. Includen. Nochmals: Includen. Was schon in einer Include ist, nochmal (sinnvoll!) aufsplitten und wieder includen. Wenn die Funktionen sich ungünstig "überlappen" und Blitz dann die Funktionen nicht mehr findet: Decl's schreiben! Ansonsten ist es auch nicht schwer auf die 30.000 zu kommen, auch wenn man nicht unnötig Copy&Pastet. Zeit ist ein langsamer, aber zuverlässiger Arbeiter. Das rappelt sich mit der Zeit. ![]() Außerdem: Ich persönlich habe (fast) nie mehr als 2.000 Zeilen in einer Include, auch ohne Copy&Paste. So behält man die Übersicht. |
||
- Zuletzt bearbeitet von faeX am Do, Apr 22, 2010 19:23, insgesamt einmal bearbeitet
BBPro2 |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
faeX hat Folgendes geschrieben: Ich glaube das besagte Projekt ist "Tehadon". (einmal in die Signatur geguckt und schon kam der Geistesblitz...)
arrogant und fail. das ist bitter. der threadersteller hat keine signatur und es handelt sich nicht um peacemaker -.- denken, DANN schreiben |
||
![]() |
Starwar |
![]() Antworten mit Zitat ![]() |
---|---|---|
BBPro2 hat Folgendes geschrieben: [...]
arrogant und fail. das ist bitter. [...] denken, DANN schreiben FAIL! feaX Post bezieht sich mit Sicherheit auf den hier mitredenden Peacemaker. Warum sollte er nicht? MFG |
||
Übersicht


Powered by phpBB © 2001 - 2006, phpBB Group