cc65

Skjermbilde programvare:
cc65
Prog.varedetaljer:
Versjon: 2.13.3
Last opp dato: 14 Apr 15
Lisens: Gratis
Popularitet: 24

Rating: 1.5/5 (Total Votes: 2)

cc65 er en komplett kryss utvikling pakke for 6502-systemer, inkludert en kraftig makro assembler, en C-kompilator, linker, bibliotekar og flere andre verktøy. cc65 er basert på en C-kompilator som opprinnelig ble tilpasset for Atari 8bit datamaskiner ved John R. Dunning.
Den opprinnelige C-kompilator er en liten C etterkommer, men har flere utvidelser, og noen av grensene for den opprinnelige Small C-kompilator er borte. Den opprinnelige opphavsretten tillater fri redistribusjon inkludert kilder, selv om det ikke ville kvalifisere som Open Source Software henhold til Open Source Definition.
Den opprinnelige Atari kompilatoren er tilgjengelig fra http://www.umich.edu/~archive/atari/8bit/Languages/Cc65/. Den komplette pakken består av kompilatoren, en assembler, en bibliotekar, en linker, og en C-bibliotek for Atari. Det er noen pakker på nettet som hevder å være tilpasset som en crosscompiler for DOS eller Unix, men var ikke i stand til å få dem fungerer.
Fordi jeg ønsket en C-kompilator for mine CBM maskiner, tok jeg Atari kompilatoren og startet en omskriving. Frem til i dag, har jeg omskrevet store deler av kompilatoren, alle av biblioteket, helt erstattet assembler, linkeren og bibliotekar, og lagt en frontend for å forenkle bruken. Alle endringer er gjort med tanke på bærbarhet, så porting til nye 6502 arkitekturer bør være ganske lett.
Kompilatoren er nesten ISO C-kompatibel, så du bør være i stand til å oversette mange kilder fra andre systemer.
Det kan være andre mål systemavhengige begrensninger. Ett eksempel er fil I / O, som ikke er implementert på alle plattformer. Dette er ingen teknisk begrensning (som med ting nevnt ovenfor), men betyr bare at ingen brydde seg nok til å skrive selve koden.
Kompilatoren er bare ett av verktøyene som er tilgjengelige i denne pakken. Assembler suite (assembler, linker, arkivet) er et komplett utviklingsmiljø for seg selv, som kan brukes til å skrive programmer for ethvert 6502 maskin. C-kode og assembler-kode kan brukes sammen og kan ringe hverandre.
Assembler er en ett pass macroassembler og er i stand til å sende ut koden for 6502, den 65SC02 og 65SC816. Den har en rekke smarte funksjoner som inkluderer filer, betinget montering, makroer nestet leksikalske nivåer (det vil si lokale symboler), og mer. Assembler skaper objektfiler som inneholder omplasserbar kode. Disse filene må kjøres gjennom en linker til å skape det endelige programmet.
Linkeren har en fleksibel output format og er i stand til å støtte ROMable kode (forskjellig belastning og kjøre adresser for data), banked systemer (segmenter kan dele den samme løp adresse), systemer med flere ROMs, ubegrenset segmenter, mer enn ett BSS segment og mange andre ting.
Den arkivet brukes til å lage biblioteker som inneholder objekter filer. Dette forenkler code ledelse. Linkeren vil trekke ut bare de moduler fra et bibliotek som faktisk trengs.
Til simplifiy bruk, er det også et grensesnitt til verktøyene som finnes i cc65 pakken. Frontend er oppkalt CL65. Den vet hvordan å bygge binærfiler fra en liste over C-filer, assembler filer, objekt-filer og biblioteker. For mindre prosjekter, er bare en påkalling av CL65 verktøyet som trengs for å bygge en binær fra flere kildefiler og biblioteker

Egenskaper .

  • enkelt linje kommentarer som starter med // Kompilatoren tillater. Denne funksjonen er deaktivert i streng ANSI-modus.
  • Kompilatoren tillater ikke navngitte parametre i parameterlister. Kompilatoren vil ikke utstede advarsler om ubrukte parametere som ikke har et navn. Denne funksjonen er deaktivert i streng ANSI-modus.
  • Kompilatoren har noen flere søkeord som er nødvendig for spesielle funksjoner. I streng ANSI-modus, de ekstra søkeord starte med to understrek.
  • Den volatile modifier har ingen effekt.
  • De datatyper float og double er ikke tilgjengelige.
  • Kompilatoren støtter ikke bits felt.
  • C-funksjoner kan ikke returnere structs og structs kan ikke sendes som parametere ved verdi. Struct oppdrag er mulig.
  • Det er noen begrensning på størrelsen av lokale variabler. Ikke alle operasjoner som er tilgjengelige hvis størrelsen på lokale variabler stiger 256 bytes.
  • En del av C-bibliotek er bare tilgjengelig med fastcall ringer konvensjoner (se nedenfor). Det betyr at du ikke kan blande pekere til disse funksjonene med pekere til bruker skrevet funksjoner.

Hva er nytt i denne utgaven:

  • Noen makrospørsmål og problemer med feil kode genereres av C kompilatoren har blitt fikset.
  • Dette inkluderer å konvertere en funksjon til å annullere pekeren og runtime divisjon rutine.
  • assembler hadde også noen makrospørsmål og et problem med justeringer større enn 256 byte.
  • Det var problemer 80 kolonne modus med og Conio rulle i C128 biblioteket.
  • Atari Biblioteket har nå POSIX katalog rutiner.
  • Det har vært flere endringer dokumentasjon, rettinger og forbedringer.

Hva er nytt i versjon 2.13.0:.

  • Støtte for bit-felt har blitt lagt
  • Denne utgivelsen forbedrer overholdelse av standardene, og ytterligere advarsler sendes ut for tvilsom kode.
  • Bibliotekene er tuned for mer fart eller mindre størrelse.
  • Kompilatoren genererer raskere kode i mange tilfeller, vanligvis uten mye av en økning i kodestørrelse.

Lignende programvare

Autoconf
Autoconf

14 Apr 15

Yasm
Yasm

17 Feb 15

JarSplice
JarSplice

20 Feb 15

Kommentarer til cc65

Kommentarer ikke funnet
Legg til kommentar
Slå på bilder!