
|
INFO - FAQ - CC2-Forum - CCPro-Forum |
|
Hallo, > Also 1->0 ... 256->255. Ich hab Deine neue Version noch nicht probiert, hoffe aber mal, daß man natürlich weiterhin "Bit[256]" verwenden kann. Oder sind die Offsets in Basic++ "richtige" Offsets im Bereich von [0..255]? Hmmm doof wie ich bin grenzt er 256 aus. Das werde ich die Tage mal beheben. Es ist aber denke ich noch zu verkraften, da man dieses Offset gar nicht wählen kann. > Wenn man das reservierte Word für die Funktionsrückgabe versucht zu überschreiben, wird > man bei der Definition eines Words oder Bytes mit einer Compiler-Warnung bedacht. > Das gleiche passiert aber nicht bei den Bit-Offsets! Kann das sein, oder habe ich da was übersehen? Die Bitoffsets stellen immer ein Problem dar, die kann man nicht so einfach vergeben und vergleichen wie Byte und Wordoffsets. Ich habe z.B. damals bei der Einführung von {ASSIGN} auch die Bitoffsets abgefragt, allerdings wollten das die Nutzer nicht, so wird im Prinzip nur nach Bytes und Words getestet. Sieh es so: Wenn man als Benutzer mit Bits umgeht, sollte man in der Regel schon ein gewisses Verständis von der Speicherbelegung haben. Bisher gibt es keine andere Lösung. > Die Vergabe von Offsets kann ich verstehen. Ist ja schließlich auch ein Feature, mehrere Variablen > überlagert zu nutzen. Dann stellt sich mir aber die Frage, warum man überhaupt Variablen ohne Offset > und sogar Funktionsparameter/lokale Variablen ohne Offsets oder als nicht-Ref deklarieren kann? > Wenn man auch nur ein Offset nicht vergibt ... kann der automatisch vom Compiler vergebene Offset alles andere zunichte machen. > -> Also entweder man macht die Vergabe von Offsets zur Pflicht (dann aber auch bei allen Funktionsparametern und lokalen Variablen) ... oder man bringt dem Compiler einen intelligenteren "Offset-Vergabe" Mechanismus bei. Das ist so um ein wenig Kompatibilität zum alten CCBasic zu halten. Bei kleinen Programmen ist das ja auch schnuppe, ob man mit oder ohne Offsets arbeitet. Bei großen Programmen wird aber immer darau hingewiesen Offsets zu vergeben. > Mittels einer Option könnte man die automatische Vergabe der Offsets anschalten. Dann MÜSSEN alle Variablen OHNE eigene Offset-Definition deklariert werden. Dieser Modus könnte Anfängern das Leben ungemein einfacher machen. Sie werden schon merken, wenn Ihnen die 24/64 Bytes ausgehen. > Und die Überlappung von Variablen verstehen Sie sowieso nicht auf Anhieb. > > b) > Wenn diese Option nicht gesetzt ist, MUSS man Offsets selber vergeben ... und das ÜBERALL. > Dieser Modus ist für alle die, die wissen, was sie tun .-) Aber der Compiler darf dann nicht eigenmächtig handeln. Also wenn, dann geht sowas nur anders herum. Ich kann bei einem bestehendem System nicht sowas grundlegendes ändern. Stell Dir die Leute vor, die schon Programme geschrieben haben und nun der komplette Syntax bezügl. von Variablen sich ändert. Ich denke mal über einen Option Befehl nach, das kann aber was dauern. Gruß, Stefan Meine Homepage: http://www.fdos.de/ccbpp |
| Antwort schreiben |