cc65

aus Wikipedia, der freien Enzyklopädie
Zur Navigation springen Zur Suche springen
cc65

Cc65-logo.png
Basisdaten

Entwickler Ullrich von Bassewitz, Oliver Schmidt
Erscheinungsjahr 1998[1]
Aktuelle Version 2.18
(30. Mai 2019)
Betriebssystem Multiplatform
Programmiersprache ANSI C
Kategorie Cross-Compiler
Lizenz zlib-Lizenz/weitere
deutschsprachig nein
https://cc65.github.io

Der cc65 ist ein Cross-Compiler-Paket für alte (und neue) 6502-basierte Computerarchitekturen. Es umfasst einen Compiler für die Programmiersprache C, einen Makro-Assembler, Linker, Archiver und einige andere Tools. Das Compiler-Paket ermöglicht u. a. die Entwicklung von Programmen für den C64, C128, Apple II und Atari Heimcomputer/Handheld. Durch eine gute Programmbibliothek ist es u. a. mit dem cc65 sehr einfach möglich, Programme für die grafische Benutzeroberfläche GEOS (C64/128 Versionen) zu entwickeln.

Der Compiler unterstützt beinahe die ganze C-Programmiersprache. Das wichtigste noch fehlende Element der Sprache sind Gleitkommazahlen, daher sind Berechnungen nur mit ganzen Zahlen möglich. Die Funktionen der C-Standardbibliothek werden unterstützt, soweit sie auf den Zielsystemen sinnvoll umsetzbar sind.

Systemübergreifende Programmierschnittstellen[Bearbeiten | Quelltext bearbeiten]

Statisch[Bearbeiten | Quelltext bearbeiten]

  • conio – Direkte Ein- und Ausgabe über Tastatur und Bildschirm
  • dio – Direkter Datenträgerzugriff auf Blockebene

Dynamisch[Bearbeiten | Quelltext bearbeiten]

  • em – Unterstützt diverse Arten von Speichererweiterungen auf einheitliche Weise, ähnlich EMS
  • joystick – relatives Eingabegerät
  • mouse – absolutes Eingabegerät
  • serial – Unterstützt die Ein- und Ausgabe über RS-232 und ähnliche Schnittstellen
  • tgi – einheitliche Schnittstelle für diverse Grafikmodi, ähnlich BGI
Verfügbarkeit von APIs bzw. Anzahl der Treiber
  statisch dynamisch
  conio dio emd joy mou ser tgi
apple2 1 1 1 1 2
apple2enh 1 1 1 1 2
atari   2      
atari2600              
atari5200     1      
atmos           2
c16   1 1      
c64   6 4 3 1 1
c128   5 2 3 1 2
cbm510   1 1   1  
cbm610   1     1  
creativision     1      
gamate     1      
geos 1 1     1
lynx       1   1 1
nes     1      
osic1p            
pce     1      
pet     1      
plus4     1   1  
supervision       1      
telestrat           2
vic20     2      
Übersicht über die definierten Namensräume

Beispielhafte Projekte[Bearbeiten | Quelltext bearbeiten]

Weblinks[Bearbeiten | Quelltext bearbeiten]

Einzelnachweise[Bearbeiten | Quelltext bearbeiten]

  1. http://unusedino.de/ec64/technical/c=hacking/ch17.html