Das Open-Control-Projekt - Die Alternative zur C-Control-I


Das Forum zur C-Control-1
Welche C-Control-Varianten existieren?
Übersicht - Suchen - Neueste 50 Beiträge - Neuer Beitrag - Login - Registrieren
INFO - FAQ - CC2-Forum - CCPro-Forum 

 Re: Enttäuscht Kategorie: Verschiedenes (von Stefan Tappertzhofen, Homepage - 1.07.2005 14:17)
 Als Antwort auf Re: Enttäuscht von Andreas Schmidt - 1.07.2005 12:38
Stefan Tappertzhofen nutzt:  CC1-Station V2.0, Micro
Hallo,

> 3. Der Compiler hat probleme mit der Fehler-Erkennung von Syntax-Fehler. Z.B. Hatte er bei mir ein fehlendes END-IF bemängeld mir aber als Fehler-Zeile die Zeile 330 angezeigt. Aber das END-IF hat in Zeile 20 gefehlt. Da mein Code etwas größer ist, dauert es eine weile bis ich die Stelle gefunden hatte.

Vorweg: Syntaxfehlererkennung und Fehlerbehandlung bei Compilern ist immer so eine Sache für sich. BASIC++ ist nicht zwingend modular, da es sich an CCBasic anlehnt. Aus diesem Grund kann die Kompilierung auch nicht modular sein. Der Compiler meldet daher ein fehlendes END IF, wenn er auch allen Grund dazu hat (z.B. wenn er bis zum Programmende auf ein END IF wartet ... woher soll er wissen, dass Du schon vorher ein END IF schreiben wolltest). Dieses Problem findet sich auch in anderen Programmiersprachen wieder. In C++ sucht man sich bisweilen dumm und dämlich, bis man erkennt, dass ein Semikolon fehlt (oder wo es fehlt).

> 4. Der Compiler hat Probleme bei der Speicherverwaltung. Gerade in Bezug auf Funktions-Parameter und lokale Variablen. Habe 2 Tage Fehlersuche gemacht, weil mir eine Funktion die einen Parameter und lokale Variablen verwendet eine globalen Speicherbereich überschrieben hat. So etwas ist wirklich übel.

Die Sache mit den Rückgabeparameter (Byte 1 + 2) finde ich selbst nicht so schön. Allerdings kann man diesen Weg nicht umgehen will man Rückgabewerte auf der C-Control M Unit 2/Micro haben. Was Funktionsparameter angeht, so kann ich das nicht verstehen. BASIC++ ist sehr flexibel, was Speichermanagement angeht. Wenn es zu Überschreibungen kommt (die auch beim alten CCBASIC passieren können) liegt es sicher daran, dass du mit REF o.ä. auf globale Variablen zugreifst. Ich sehe hierzu aber keine Alternative, da die C-Control keinen Speicher von mehreren tausend Byte hat. Das es hier zu Überschneidungen kommen kann, ist doch selbstverständlich. Dafür gibt es eben die MAP Datei.

> 5. Die Referenz von Basic++ ist fehlerhaft und nicht unbedingt sehr ausführlich. Z.B. das IIC Objekt. Die Methoden werden gar nicht beschrieben.

Sag mir doch bitte wo es Fehler in der Online Referenz gibt und ich werde Sie beheben. Im Übrigen handelt es sich um eine "Referenz". In vielen Referenzen (z.B. Assembler Referenzen) findet sich nur eine knappe Zusammenfassung zum jeweiligen Befehl. Wer schon mal mit dem IIC Bus gearbeitet hat, sollte kein Problem haben das IIC Objekt zu benutzten. Weitere Informationen zum IIC Bus oder der C-Control finden sich ja auf der C-Control Webseite. Außerdem sollte man sich nicht scheuen Fragen zu stellen. Fragen kostet nämlich nichts.

Gruß,

Stefan

Meine Homepage: http://www.fdos.de

 Antwort schreiben

Bisherige Antworten:

Re: Enttäuscht (von Patrick - 1.07.2005 15:34)
    Re: Enttäuscht (von Stefan Tappertzhofen - 1.07.2005 15:40)
Re: Enttäuscht (von Andreas Schmidt - 1.07.2005 14:46)
    Re: Enttäuscht (von Stefan Tappertzhofen - 1.07.2005 15:46)
        Re: Enttäuscht (von Andreas Schmidt - 1.07.2005 15:53)
            Re: Enttäuscht (von Stefan Tappertzhofen - 1.07.2005 16:00)