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: Demoprogramm: Fehler melden, wenn IIAR nicht gefunden Kategorie: Open-Micro/Open-Mini/Open-Midi/Open-Macro/Open-Maxi (von Dietmar, Homepage - 2.03.2024 18:58)
 Als Antwort auf Re: Demoprogramm: Fehler melden, wenn IIAR nicht gefunden von Christian - 2.03.2024 18:27
Dietmar nutzt:  Open-Micro, Open-Mini, Open-Midi, Open-Macro, Open-Maxi, Open-Mini Station
Hallo Christian,

Du hast das Geschriebene korrekt verstanden.

> Kann der OCBASIC Compiler nicht einfach eine Warnung ausgeben, wenn das so ist?

Der Compiler kann nicht wissen, was der Anwender bezwecken, bzw. erreichen will.
Es gibt aus Compilersicht keine M├Âglichkeit, eine falsch positionierte IIAR zweifelsfrei zu erkennen.

Bisher habe ich bei jeder IIAR im Kommentar geschrieben: "Die folgende Subroutine mu├č am Anfang des Programms stehen..."
Richtig akut wird das darum erst jetzt, seitdem es omax32.iia gibt, bei der die IIAR in einer INCLUDE-Datei steht, also f├╝r den Anwender nicht sofort erkennbar ist.

Auch bei CCBASIC auf der Original-C-Control hatte es Auswirkungen, wenn man nicht drauf achtet, wo man ein Objekt positioniert. Beispielweise wurden Tabellen als Tokencode ausgef├╝hrt, wenn man sie mitten im Sourcecode plaziert.

Den Grund, warum IIARs auf diese Weise realisiert wurden, habe ich im 2. Teil des Assemblerkurses erkl├Ąrt.

In der Bedienungsanleitung zur Open-Macro und Open-Maxi ist beim Befehl INCLUDE genau beschrieben, wo die unterschiedlichen Arten von INCLUDE-Dateien im Sourcecode positioniert werden sollten.

Die OM-Mikrocontroller sind nun einmal freiheitlich orientierte Mikrocontroller mit vielen Freiheitsgraden. Aber mit dieser Freiheit mu├č man nat├╝rlich auch umgehen k├Ânnen.

Freundliche Gr├╝├če

Dietmar

Meine Homepage: http://ccintern.dharlos.de

 Antwort schreiben

Bisherige Antworten: