cc65 egy komplett cross fejlesztési csomag 6502 rendszerek, beleértve a nagy teljesítményű makro szerelő, a C fordító, linker, könyvtáros és számos más eszközökkel. cc65 alapul a C fordító, amely eredetileg igazítani az Atari 8 bites számítógépek John R. Dunning.
Az eredeti C compiler egy kis C leszármazottja, de több kiterjesztéseket, valamint a határok közül néhányat az eredeti Small C fordító is elment. Az eredeti szerzői lehetővé teszi az ingyenes újraelosztás beleértve a forrásokat, még akkor is, ha ez nem minősül Open Source Software szerint az Open Source Definition.
Az eredeti Atari compiler elérhető http://www.umich.edu/~archive/atari/8bit/Languages/Cc65/. A teljes csomag áll a fordító, összeállító, könyvtáros, egy összekötő csoport és a C könyvtár az Atari. Vannak olyan csomagok a neten, hogy azt állítják, hogy adaptálják az crosscompiler a DOS, Unix, de nem tudta őket megfelelően működik.
Mert szerettem volna egy C fordító az én CBM gépek, vettem az Atari fordító és megkezdte a rewrite. Egészen a mai napig, én újraírt nagy része a fordító, mind a könyvtár, teljesen felváltotta a szerelő, a kapcsolót, és a könyvtáros, és hozzátette, a frontend egyszerűsítése használatát. Minden változtatás történt a hordozhatóság szem előtt, így portolása az új 6502 architektúrák könnyű lehet.
A fordító szinte ISO C kompatibilis, így képesnek kell lennie arra, hogy fordítsa le sok forrásból, más rendszerekkel.
Lehet, hogy más célrendszer függ korlátai. Egy példa fájl I / O, amelyek nem hajtják végre az összes platformon. Ez nem technikai korlátozás (például a cucc fent), de nem csak azt jelenti, hogy senki sem törődött elég írni a tényleges kódot.
A fordító azonban csak az egyik olyan eszköz áll rendelkezésre ebben a csomagban. A szerelő suite (assembler, linker, archiváló) egy teljes fejlesztői környezetet is, amely felhasználható programokat írhassanak minden 6502 gépet. C kód szerelő kód használható együtt, és hívhatják egymást.
A szerelő egy egymenetes macroassembler és képes kimeneti kódot a 6502-es, a 65SC02 és 65SC816. Van egy csomó remek funkciók, mint az include fájlokat, feltételes szerelés, makrók, beágyazott lexikális szinten (azaz a helyi szimbólumok), és így tovább. A szerelő teremt objektumot tartalmazó fájlok áthelyezhető kódot. Ezek a fájlok végigmenni a linker, hogy megteremtse a végleges program.
Az összekötő csoport egy rugalmas kimeneti formátum, és képes támogatni ROMable kódot (a különböző terhelési és fuss címeket adatok), dönthető rendszerek (szegmensek azonos távon cím), rendszereknél, több ok, korlátlan szegmensek, több mint egy BSS szegmens és sok más dolgot.
Az archiváló létrehozásához használt könyvtárak objektumokat tartalmazó fájlok. Ez egyszerűsíti a code menedzsment. Az összekötő csoport kivonat csak azokat a modulokat egy könyvtárból, hogy valóban szükség van.
A simplifiy használat, van is egy frontend, hogy a szerszámokat szereplő cc65 csomagban. A frontend nevű CL65. Tudja, hogyan kell építeni binárisok listájából C fájlokat, szerelő fájlokat, objektum fájlok és könyvtárak. A kisebb projektek, csak egy könyörgése a CL65 segédprogram szükséges, hogy építsenek egy bináris számos forrásból és a könyvtárak.
Tulajdonságok :
- A fordító segítségével egysoros megjegyzések kezdődő //. Ez a funkció le van tiltva a szigorú ANSI módban.
- A fordító segítségével meg nem nevezett paraméterek paraméterlistákkal. A fordító nem jelzett hibát nem használt paraméterek, amelyek nem rendelkeznek a nevét. Ez a funkció le van tiltva a szigorú ANSI módban.
- A fordítóprogram néhány további kulcsszavakat, amelyek szükségesek a speciális funkciók. Szigorú ANSI üzemmódban a további kulcsszavakat indul két aláhúzás.
- Az illékony módosító nincs hatása.
- A adattípusok float és double nem állnak rendelkezésre.
- A fordító nem támogatja bitmezőkbe.
- C funkciók nem tér vissza Struktúrák és struktúrákat nem lehet paraméterként átadott érték. Struct hozzárendelés lehetséges.
- Vannak olyan korlátozás a mérete lokális változók. Nem minden művelet áll rendelkezésre, ha a méret a helyi változók meghaladja a 256 byte.
- Része a C könyvtár is csak fastcall hívja egyezmények (lásd alább). Ez azt jelenti, hogy nem lehet keverni mutató ezeket a funkciókat a mutató a felhasználó által írt funkciókat.
Mi az új ebben a kiadásban:
- Néhány makro kérdések és problémák a helytelen kód által generált C compiler javítva lett.
- Ez magában foglalja konvertáló funkció, hogy érvénytelen mutató, és a futásidejű divízió rutin.
- A szerelő is voltak makro kérdések és probléma nyomvonalakat nagyobb, mint 256 bájt.
- Voltak problémák a 80 oszlopos mód és Conio görget a C128 könyvtárban.
- A Atari könyvtár most POSIX könyvtár rutinokat.
- Jónéhány dokumentációt változások, javítások és fejlesztések.
Mi az új verzióban 2.13.0:
- Támogatás bit-mezők bővült.
- Ez a kiadás javítja szabványok betartását, és kiegészítő figyelmeztetések hangzik el kétes kódot.
- A könyvtárak hangolt több sebességet vagy kisebb méretű.
- A fordító generál gyorsabb kódot sok esetben, általában anélkül, hogy ekkora növekedés a kód mérete.
Hozzászólás nem található