ca. 4000+ Zeilen Code, 2 Jahre Arbeit und nun geht gar nichts mehr! Füge ich eine Zeile hinzu stürzt alles ab, entferne ich irgendeine Zeile (!) gehts wieder. Wieso denn eigentlich irgendeine Zeile? Das gibts doch nicht! Immer wieder irgendwelche Macken um die ich herumprogrammieren musste weil der Compiler zu blöde ist. Herumgepfusche weil man ständig irgendwelche Zwischenspeichervariablen braucht und das Ganze war sowieso mit zunehmender Größe instabil. Jetzt reichts! Ich steige um! BASCOM IST SCHEISSE!!!
:
Gesperrt durch Moderator
Robert M. schrieb: > Wieso denn eigentlich irgendeine Zeile? Das gibts doch > nicht! Jeder Speicher ist endlich... Oliver
Robert M. schrieb: > ca. 4000+ Zeilen Code, 2 Jahre Arbeit und nun geht gar nichts mehr! Eins zum Trost: Beim zweiten Mal dasselbe zu programmieren (egal in welcher Programmiersprache) - geht immer schneller als beim ersten Mal - ist stabiler Die Gründe dafür kannst Du Dir wahrscheinlich selber ausmalen. > Jetzt reichts! Ich steige um! BASCOM IST SCHEISSE!!! Mach das. Es gibt genügend Alternativen.
Oliver S. schrieb: > Robert M. schrieb: >> Wieso denn eigentlich irgendeine Zeile? Das gibts doch >> nicht! > > Jeder Speicher ist endlich... > > Oliver Es sind noch 32% frei im Flash.
Da ist jemand sein Kaffe sauer geworden am frühen Morgen :D 4000+ Zeilen in Bascom, da hättest du dich leichter getan und C gelernt. Und auf nen ordentlichen Compiler gesetzt.
Draco schrieb: > Da ist jemand sein Kaffe sauer geworden am frühen Morgen :D das kannst du laut sagen! Es ist ja ganz verlockend - so zum Anfang, funktioniert schnell ein paar kleine Sachen, aber größere Projekte sollte man komplett seinlassen, sviel habe ich nun schmerzlich lernen müssen.
Hast du mal versucht ein paar zeilen zusammen zu fassen? bascom hat wie jedes basic einen Zeilencounter dieser könnte auf 0xFFF =(4096-1) Zeilen begrenzt sein. Namaste
:
Bearbeitet durch User
@Winfried J. (Firma: Nisch-Aufzüge) (winne) >bascom hat wie jedes basic einen Zeilencounter dieser könnte > auf 0xFFF =(4096-1) Zeilen begrenzt sein. Das wäre mal wieder der Hammer! Eine Software im 21 Jahrhundert mit einem 12 Bit Zeilenzähler. Um das Problem näher zu klären könnte man ja mal testweise eine "nonsense" Datei erzeugen, z.B. mit 4095 Zeilen ' REM Dann kann man schauen, was passiert. Ausserdem kann man ja mal die Herstellerfirma anschreiben.
Falk B. schrieb: > Ausserdem kann man ja mal die Herstellerfirma anschreiben. Das wäre zu einfach -dann könnte sich eventuell herausstellen, daß es nicht an dem Editor in Bascom liegt, sondern an dem, der ihn benutzt. Aber: Fang ruhig an, mit "C" zu programmieren. Du wirst schon sehen, wie gut sich das erst macht, wenn es bei Fehlern erst gar keine Fehlermeldung gibt oder auch mal anders herum.
Winfried J. schrieb: > bascom hat wie jedes basic einen Zeilencounter dieser könnte > auf 0xFFF =(4096-1) Zeilen begrenzt sein. Das ist schon mal kompletter Quatsch.
Also ich hab gerade mal testweise 6000 Zeilen ohne Fehler compiliert. An der Zeilenzahl liegt es nicht. 4000 Zeilen in einem Dokument? Hätte ich bei meinem Prof damals nicht abliefern dürfen. Wie ist es mit .inc(ludes)? Robert M. schrieb: > und das Ganze war sowieso > mit zunehmender Größe instabil. Da hast Du vielleicht in den Stack reingeschrieben. Kann aber in C oder Assembler auch passieren: 1 Mio mal PUSH und danach 1 Mio mal POP liefern nicht den gleichen Inhalt zurück, es sei denn, man hat auch 1 Mio+ Speicherplätze, etc ect.
Route 6. schrieb: > Winfried J. schrieb: >> bascom hat wie jedes basic einen Zeilencounter dieser könnte >> auf 0xFFF =(4096-1) Zeilen begrenzt sein. > > Das ist schon mal kompletter Quatsch. Ah, was sagt denn deine Glaskugel ,das meine nicht erkennt, mir sind derartige Limits mehr als einmal begegnet. Sogar bei professioneller SW. Außerdem schließt der Konjunktiv andere Ursachen nicht aus. Es erschien mir nur naheliegend. Zumal bascom nicht gerade neu ist. Ich meine die ersten Entwicklungen reichen Indie Z80Ära zurück. Dt64 hat meiner Erinnerung nach schon tokenisierte Programme in den 80ern in einem Plattformübergreifenden Dialekt gleichen Namens ausgestrahlt. Und wer weiß schon wer da wo abgeschrieben hat ohn es je gelesen zu haben was da im Quellcode stand. Namaste
Siehe Anhang. Diese Datei kompiliert problemlos, auch mit mehr als 4096 Zeilen. Ich vermute beim OP ein Problem mit der Programmstruktur, z.B. ein vergessenen endif oder so, welches der Compiler nicht erkennt und abstürzt.
@ Winfried J. (Firma: Nisch-Aufzüge) (winne) >ersten Entwicklungen reichen Indie Z80Ära zurück. Dt64 hat meiner >Erinnerung nach schon tokenisierte Programme in den 80ern in einem >Plattformübergreifenden Dialekt gleichen Namens ausgestrahlt. Nicht ganz. Es hieß Basiccode, eine Art Vorläufer zu Java (plattformunabhängig, aber nicht objektorientiert)
Hatte ich nicht ausgeschlossen. Hier noch ein Link aus dem das Alter von bascom zu ersehen ist. Hat mich meine Erinnerung nicht getäuscht. Schön das das jetz ausgeschlossen werden konnte. https://de.m.wikipedia.org/wiki/BASCOM_%28Microsoft%29 Namaste
:
Bearbeitet durch Moderator
> und das Ganze war sowieso mit zunehmender Größe instabil
Also anstatt herauszufinden warum es instabil wird einfach weitermachen
zeigt eher was vom Programmierer zu halten ist als vom Compiler.
Also egal was der TE für eine Scheiße in seinem Programm gebaut hat, aber das: Robert M. schrieb: > Füge ich eine Zeile hinzu stürzt alles ab ist ein klarer Fehler in BASCOM. Egal wie schrottig der Code sein kann, ein Programm muss dann Fehler melden und nicht abstürzen.
Robert M. schrieb: > und das Ganze war sowieso mit zunehmender Größe instabil. Das ist doch sowieso die gängige Beschreibung von Software... > entferne ich irgendeine Zeile (!) gehts wieder. Es geht dann wieder? Dann kann diese beliebig entfernte Zeile nicht so wichtig sein... > weil der Compiler zu blöde ist. Kann der immer noch nur 1 Operation pro Zeile? Genau an dieser Stelle war mein Test dieser Programmierumgebung vor Jahren schon zu Ende. So wird in der Grundschule gerechnet. Wer dort nicht sitzenbleibt kann später komplexere Aufgaben lösen. K. L. schrieb: > Robert M. schrieb: >> Füge ich eine Zeile hinzu stürzt alles ab > ist ein klarer Fehler in BASCOM. Egal wie schrottig der Code sein kann, > ein Programm muss dann Fehler melden und nicht abstürzen. Mir ist hier noch unklar, was "Alles" ist. Dieses "Alles" kann nicht global sein, es ist irgendwie lokal. Ob mit "Alles" jetzt nur der uC oder auch die Entwicklungsumgebung oder nur Teile davon gemeint sind, geht aus der Fehlerbeschreibung nicht hervor... Ich würde da sagen: zeig doch einfach den Code und sag, woran du gerade herumschraubst.
Winfried J. schrieb: > Hier noch ein Link aus dem das Alter von bascom zu ersehen ist. Hat mich > meine Erinnerung nicht getäuscht. Schön das das jetz ausgeschlossen > werden konnte. > > https://de.m.wikipedia.org/wiki/BASCOM_%28Microsoft%29 Da liegst Du daneben, denn das hat mit dem Basic-Compiler für µCs *gar nichts* zu tun, das heißt nur zufälligerweise auch so. Das BASCOM, um das es hier geht, wurde vom Holländer Mark Alberts entwickelt und wird von seiner Firma mcselec vertrieben (http://www.mcselec.com/). BASCOM ist ein BASIC-Compiler für MCS-51 (daher auch der Firmenname), der später auch auf die AVR-Architektur portiert wurde, und gegenüber einem "richtigen" BASIC diverse Einschränkungen mit sich bringt, wie die Notwendigkeit, auch nur mittelmäßig komplizierte Ausdrücke in mehrere separate Anweisungen zerlegen zu müssen. Bei den Anwendern ist BASCOM beliebt, weil es eine recht umfangreiche Bibliothek für die Ansteuerung der Peripherie der Controller mit sich bringt, die BASIC-typisch mit dann minimalem Aufwand genutzt werden kann. Man bedenke, daß das Zeug in erster Linie schon ziemlich alt ist, es wurde schon im vergangenen Jahrtausend entwickelt und seitdem nur graduell angepasst/erweitert. Sofern nicht aus irgendwelchen persönlichen Gründen der dringende Bedarf besteht, mit einem BASIC-Dialekt arbeiten zu müssen, ist heute recht eindeutig die Arduino-Schiene zu bevorzugen, da gibt es mehr Bibliotheken für Peripherie, und man kann auch andere Prozessorarchitekturen als die doch etwas angestaubten MCS-51 und 8-Bit-AVRs verwenden. Obendrein ist die "Community" deutlich größer, d.h. man findet schneller andere Leute, die entweder die gleichen Probleme wie man selbst haben oder aber diese schon gelöst haben.
Lothar M. schrieb: > Ich würde da sagen: zeig doch einfach den Code und sag, woran du gerade > herumschraubst. Der kommt nicht wieder. Fehlermeldung: Line 10: Troll expected! MfG Paul
@ Rufus Τ. Firefly (rufus) (Moderator) Benutzerseite >besteht, mit einem BASIC-Dialekt arbeiten zu müssen, ist heute recht >eindeutig die Arduino-Schiene zu bevorzugen, da gibt es mehr >Bibliotheken für Peripherie, und man kann auch andere >Prozessorarchitekturen als die doch etwas angestaubten MCS-51 und >8-Bit-AVRs verwenden. Und vor allem kann man ganz normal in C (C++) programmieren, mit allen Vor- und Nachteilen ;-)
Also ich habe Programme mit mehr als 7000 Zeilen und habe keine Probleme. Vielleicht habe ich nicht richtig gelesen, aber wie stellt sich denn der "Absturz" dar ? "geht nicht mehr" ist etwas wage. gab es eine Fehlermeldumng beim Kompilieren? Disskusionen über das Für und Wieder von Bascom sind nicht hilfreich. Leute die von Bascom keine Ahnung haben sollten sich einfach raus halten !!!
Hoffentlich beachten das die Leute, die nur von BASCOM Ahnung haben, umgekehrt auch. Man muß übrigens nicht viel über BASCOM wissen, um seine Schwachstellen zu entdecken. Er kann halt nicht wirklich Ausdrücke. Das ist die absolute Minimalfunktion, die im Fach Compilerbau gelehrt wird: ein Parser für (mehrteilige, auch verschachtelte) Ausdrücke.
Robert M. schrieb: > Es ist ja ganz verlockend - so zum Anfang, funktioniert schnell ein paar > kleine Sachen, aber größere Projekte sollte man komplett seinlassen, > sviel habe ich nun schmerzlich lernen müssen. Wenn Du eine gekaufte und keine geklaute Version besitzt, dann gibt's Support vom Hersteller, das wäre die erste Anlaufstelle und nicht so ein Weinerle hier. Und 4000Zeilen/2Jahre schreibt man nicht so schnell um. Als nächstes könntest Du die Bascom-Version nennen, wenn Du denn tatsächlich Hilfe erwartest, denn nur ein "geht nicht" ist ein wenig flach. Bastler schrieb: > Hoffentlich beachten das die Leute, die nur von BASCOM Ahnung haben, > umgekehrt auch. Bascom-Nutzer sind meist recht bescheiden und schon froh, wenn ihnen denn geholfen wird. Dass die den oft feststellbaren Dünkel besitzen und sich über andere Sprachen lustig machen, hab' ich nicht feststellen können.
Hi Robert M. willst Du Dein Programm denn noch zum laufen bringen oder wolltest Du nur Deinen Frust ablassen. Deine 4000 Zeilen haben bestimmt einen gewissen wert für Dich. Willst Die die in die Tonne hauen ? Oder soll man Dir helfen ? Nochmals konkret nachgefragt: Was genau läuft nicht ?
Beitrag #5931297 wurde von einem Moderator gelöscht.
Beitrag #5931333 wurde von einem Moderator gelöscht.
Dieser Beitrag ist gesperrt und kann nicht beantwortet werden.