
|
INFO - FAQ - CC2-Forum - CCPro-Forum |
|
||
|
Hallo miteinander > nicht standardmäßig über 64 KB, diese müssen aufgerüstet werden aber eine Aufrüstung *ist* möglich. Im Gegensatz zum Flash der neuen C-Control-Versionen. Außerdem spielt die Ausführungsgeschwindigkeit bei vielen Anwendungen eine untergeordnete Rolle. Mal ganz abgesehen von der Möglichkeit der Assemblerprogrammierung. Auf dem B16 kann man sogar den zweiten RAM-Bereich für Assemblerprogramme benutzen. > Mal ganz abgesehen von 140 Byte zu 24 Byte User Ram Die EPROM-Kontroller, für die das CC1-OS-Projekt-Betriebssystem geschrieben wurde, haben bekanntlich 176 Byte zusätzlichen RAM, wodurch das User-RAM auf über 222 Byte anwächst. Sofern Du keine Begrenzung in Deinem Compiler hast, läßt sich dieser Speicher selbst in Basic++ nutzen. Die nicht upgradefähige V2.01 besitzt dagegen nur 64 Byte User-RAM. Und die Conrad-Micro bietet nur 24 Byte, wie die Original-C-Control. Bei der Open-Micro und Open-Mini sind es übrigens über 64 Byte. > Im übrigen ist Visual Basic heute der de facto Standard. Du entmündigst die Anwender, indem Du ihnen einen bestimmten Programmierstil aufzwingst. Im übrigen gibt es auch heute noch viele Alternativen zu Visual Basic, wie zum Beispiel PureBasic, PowerBasic, usw. Wenn es sich bei diesen BASIC-Dialekten nur um eine Kopie von Visual Basic handeln würde, könnten sie sich sicher nicht am Markt behaupten. Man ist also nicht unbedingt gezwungen, Microsoft-Programmiersprachen zu benutzen. > Und deswegen legt man Indizies mit eckigen Klammern fest? Runde Klammern stehen für Arrays. Insofern sind eckige Klammern ganz vernünftig. > Warum wird DEFINE überhaupt verwendet und nicht DIM OCBASIC unterstützt sowohl DEFINE als auch DIM. > Es gibt in CCBasic keine Funktionen, die heute zum Standard gehören. Doch, in CCBASIC können auch Funktionen, also Subroutinen mit Rückgabewert, realisiert werden. Zitat: Ab Version 1.33 von CCBAS.EXE kann RETURN einen Rückgabewert liefern und dieser in Anweisungen verwendet werden. Dadurch kann oft Speicherplatz für Puffervariablen gespart werden. Davon abgesehen, konnten Funktionen schon immer, in jedem BASIC-Dialekt, mit mehr oder minder großem Aufwand realisiert werden. Sind also nicht erst heute "Standard". Funktionen lassen sich sogar in Assembler und anderen "niederen" Programmiersprachen realisieren. Warum auch nicht. > SELECTs und mehrzeilige IFs Mehrzeilige IFs gab es wie gesagt schon seit dem Parser. SELECT könnte ich in OCBASIC implementieren, ich sehe allerdings Schwierigkeiten, weil man für optimalen Code den bei SELECT evaluierten Ausdruck zwischenspeichern müßte, der Compiler aber nicht feststellen kann, welcher Speicher vom Anwender oder von Assemblermodulen nicht belegt wird. Zumal SELECT vom Anwender sehr gut als mehrzeiliges IF-Konstrukt nachgebildet werden kann. In diesem Fall kann der Anwender dann auch genau erkennen, daß suboptimaler Code erzeugt wird und das Rechenergebnis in einer Variable zwischenspeichern. > OCBasic ist ein neuer Compiler, der wie mBasic und BASIC++ auf CCBasic teilweise aufbaut. Das ist nicht richtig. OCBASIC orientiert sich so stark an CCBASIC, daß CCBASIC-Quellcode meist ohne jegliche Veränderung mit dem OCBASIC-Compiler übersetzt werden kann. Es wird sogar, abgesehen von einigen Optimierungen, der gleiche Tokencode erzeugt, wenn "OPTION ccbas" benutzt wird. Dietmar Meine Homepage: http://ccintern.dharlos.de |
| Antwort schreiben |