Chicken er en fri og åpen kildekode kompilator søknad om ordningen programmeringsspråk. Den er kompatibel med Linux / UNIX operativsystem.
Kylling produserer effektiv og bærbar C, og den støtter mange av dagens ordning språket standard (se listen nedenfor for detaljer).
Det gir out-of-the-box støtte for Srfl 0 (dirigent-utvide), Srfl 1 (List bibliotek), Srfl 2 (og-la *), Srfl 4 (Homogene numeriske vektordatatyper), Srfl 6 (Basic streng porter ), Srfl 8 (motta), Srfl 9 (Record typer), Srfl 10 (#, ytre form), Srfl 13 (String bibliotek), Srfl 14 (Character set bibliotek), Srfl 16 (case-lambda), Srfl 17 ( generalisert sett!), Srfl 18 (multithreading støtte), Srfl 23 (feil), Srfl 25 (flerdimensjonal array primitiver), Srfl 26 (kutt, søt), Srfl 28 (format), Srfl 30 (Block kommentarer), Srfl 37 ( , utvidelse krever-program argument prosessor), Srfl 38 (ekstern representasjon for data med felles struktur) Srfl 39 (Parametere), Srfl 40 (Stream bibliotek), Srfl 42 (Ivrige oppfattelser), Srfl 43 (Vector bibliotek) og Srfl 55 ( ).
Hva er nytt i denne versjonen:
- Denne utgivelsen inneholder flere viktige sikkerhets- og kollisjonsrettinger, etter en nylig bug-jakt rangel av våre kjerne hackere.
Hva er nytt i versjon 4.8.0.5:
- Denne utgivelsen inneholder flere viktige sikkerhets- og kollisjonsrettinger, etter en nylig bug-jakt rangel av våre kjerne hackere.
Hva er nytt i versjon 4.8.0.3:
- Denne utgivelsen primært retter en feil på Linux og Solaris som forårsaker høy CPU-bruk når du venter på barnet prosess I / O.
Hva er nytt i versjon 4.8.0.2:
- Interpreter:
- Fix regresjon i, d for prosedyrer, noe som resulterte i en sprintf feil.
- Compiler:
- Fix omskriving av linjeskift (~~) i printf.
- Runtime:
- Tillat & gt; 4GB haug på 64-bits systemer (# 974).
- Lagt savnede bibliotek (-lrt) på Solaris for nanosleep samtaler (# 970).
- Bygg system:
- Bruk test -f stedet for test -e i identify.sh å bero Solaris.
Hva er nytt i versjon 4.8.0.1:
- Sikkerhets reparasjoner:
- Bruk POSIX avstemning () på systemer der det er tilgjengelig. Dette unngår en design feil i å velge (); den støtter ikke mer enn FD_SETSIZE beskrivelsene.
- Kjerne biblioteker:
- Fast EINTR håndtering i prosess vente og når du leser fra fil-porter.
- Bugfix for irregex (# 686). Merk:. Selv om irregex.scm sier nå versjon 0.9.2, er versjonen faktisk 0.8.3 pluss noen backported patcher
- Fast problem i "make-banenavn" som returnerte en absolutt sti hvis gitt en slektning en uten en katalog argument.
- På 64-bits systemer funksjonen identifikator "64bit" er registrert.
- Compiler:
- Faste ulike bugs i type database.
- feilrettinger og forbedringer i scrutinizer.
- I flow-analyse pass, type-matching av kombinasjoner av "list" / "list-of" typene har blitt gjort mer pålitelig.
- Syntax ekspander:
- Gjør makro omdøpt definerer i begynne organer (inne moduler) synlig for senere former. (# 944).
- Runtime system:
- Fast feil kode i utenlandsk argument konvertering for "usignert-integer64" (# 955).
- Kjernemateriale:
- runtime linker banen for kompilerte kjør ble ikke satt riktig på FreeBSD systemer.
- Fix forlengelse install-brudd når den andre arg inneholder par (SRC DST).
- Bygg system:
- Forhindre ombygging av buildversion.scm på hver gjøre (1) på Windows.
Hva er nytt i versjon 4.8.0:
- Grensesnitt og funktorer har blitt lagt til i modulsystemet.
- Den type system har blitt utvidet.
- Et stort antall feilrettinger og generell opprydding har blitt gjort i kompilatoren, runtime system, kjernebibliotekene, og syntaks ekspander.
Hva er nytt i versjon 4.6.0:
- Noen kompilatoren optimaliseringer har blitt betydelig forbedret.
- Flere innebygde prosedyrer og tildelingsprosedyrer for lister, vektorer, og strukturer generere raskere kode.
- Units Srfl-4 og Srfl-18 har vært tungt ryddet opp og optimalisert.
- Flere bugs har blitt fikset i tråden planleggeren.
- kylling-installasjon har blitt utvidet, og dens kryss kompilering støtte har blitt betydelig oppgradert.
- Den bygger systemet støtter nå flere plattformer og kompilatorer.
- De ulike infrastruktur scripts har blitt overhalt å reflektere strukturen i den nye websiden infrastruktur.
Hva er nytt i versjon 4.4.0:
- systemet kan nå bli bygget med LLVM-gcc og / eller "klang" (den LLVM C-kompilator som ikke bruker GNU C frontend)
- lagt nytt alternativ `-trunk 'til` kylling-install', hvilke krefter å bygge og installere utviklingen versjon av utvidelser i kombinasjon med `-t lokale"
- lagt nytt alternativ `-deploy 'til` kylling-install ", som bygger forlengelse for bruk i" utplassert "programmer (se nedenfor)
- lagt alternativ `-deploy 'til` CSC', kompilatoren driver. Med dette alternativet `CSC 'kan bygge selvstendige program bunter og dobbel-klikkbar Macintosh GUI apps; se "Distribusjon" manuell kapittel for mer informasjon
- katalogen gitt til `-prefix alternativet av` kylling-install 'kan nå være en slektning banenavn.
- fjernet GUI-spesifikke runtime-bibliotek (`libchicken-gui ') fra Windows bygge
- GUI- og ikke-GUI-applikasjoner nå bruke samme runtime biblioteket
- spesielle former for utenriks-funksjon grensesnitt har blitt erstattet med en intern form og syntaks å tillate døpe og skygge av disse formene
- den nye `-privat-repository 'i` CSC' kompilerer kjør med utvidelsen-depotet banen satt til katalogen som programmet ble startet
- `CSC ': frarådet den` -W' og `-Windows" alternativer, la `-gui 'som en plattformuavhengig erstatning
- `krever-extension '/` bruk "aksepterer nå import-spesifikasjoner
- brukerdefinerte skjøte-beskrivende og `set-extension-specifier! ' har blitt fjernet
- `delete-file [*] ',` endre navn-file', `opprette katalogen ',` file-kopi', `file-bevegelse ',` slette-katalogen' og `endring-katalogen 'returnere deres argument / destinasjon filnavn på suksess
- lagt den manglende prosedyre `stand-variabel-navn" til Srfl-18 bibliotekenheten (Takk til Joerg Wittenberger)
- den `glob? funksjonen fra `regex 'enhet har blitt frarådet
- lagt prosedyren `skanne-innsatslinjer 'til` utils' bibliotek enhet
- lagt ny runtime alternativ `-: g" som gjør at GC debuggingsmeldinger
- gjenvinning av ubrukte symboler i "symbol-gc" -modus (`-: w ') nå kun foregår etter symboler med en tom eiendom-liste
- på Windows lasting av kode kompilert med [ikke-] GUI kjøretidsbiblioteker vil mislykkes og gi en feilmelding når lastekjør er knyttet til en annen runtime system
- på Windows, grafiske bibliotekene ble ikke riktig koblet med `CSC '
- enhet POSIX: lagt setter for `fil-modifikasjon-time '
- banneret viser branchname av bygge, med mindre det er "master"
- den `-ingen-install 'alternativ til` kylling-install' ignoreres ved bygging / installasjon avhengig
- `kylling-uninstall" tar en glob i stedet for et vanlig uttrykk som argument
- Gi nytt navn og sammenlign funksjoner for lavt nivå makro-definisjoner aksepterer nå vilkårlig s-uttrykk og endrer navn / sammenligner dem rekursivt
- `Number & gt; streng 'håndterer negative-tall med baser forskjellige fra 10 riktig (takket være Peter Danenberg)
- fjernet frarådet `setup-install-flagg" og `setup-verbose-flagg" fra `setup-api 'modul
- lagt nytt alternativ `-repository 'til` kylling-install' (Takk til Christian Keller)
- fjernet `kylling-setup 'stub program
- fix til `CSC" for å bruke riktig biblioteket når fikse dynamiske belastnings baner (Takk til Derrell Piper)
- fjernet html dokumentasjon fra distribusjons (wikien håndboken vil nå bli installert)
- fikset bug i `reeksport" som forårsaket syntaks ikke å være riktig reeksporteres
- tidligere oppdrag til et toppnivå variabel som er atskilt med bivirkning frie uttrykk er fjernet
- fast windows versjon av `Finn-files" (takk til Jim Ursetto)
- dokumentasjon for utvidelser er ikke installert automatisk av `kylling-install 'lenger
- endret binære versjonen fra "4" til "5", fordi de nye kjøretidsbiblioteker er ikke binærkompatibelt med tidligere utgivelser; Dette betyr at alle egg må installeres på nytt og eksisterende programmer rekompileres!
- lagt unboxing pass til kompilatoren som resulterer i delvis dramatiske ytelsesforbedringer for usikre flyttallsintensive kode; unboxing er aktivert på optimalisering nivå 4 og 5
- fjernet resten-argument-vektor optimalisering som det kunne komme i konflikt med fletting (takk til Sven Hartrumpf)
- omdøpt `pekeren-offset 'til` pekeren +' og frarådet `pekeren-offset '
- toppnivå oppgaver som ikke har noen andre bivirkninger kan elimineres dersom det kan påvises at verdien ikke brukes (kompilatoren vil generere en advarsel i dette tilfellet)
- fjernet frarådet `-quiet 'i` kylling' program
- fjernet frarådet `run-time-makroer erklæring
- fjernet frarådet `-v2 'og` -v3' alternativer i `CSC 'program
- fjernet frarådet `liste-of-funksjonen (det er eksklusivt tilgjengelig som` liste-over? 'nå)
- fjernet frarådet `statistikk -... 'funksjoner i POSIX bibliotek enhet
- fjernet frarådet `for-hver-line" og `for-hver-argv-line 'prosedyrer i utils bibliotek enhet
- lagt `fpinteger? og `fpabs '
- frarådet `definere-kompilert-syntaks '
- lagt til nye flyt primitiver `fpsin ',` fpcos', `fptan ',` fpasin', `fpacos ',` fpatan', `fpatan2 ',` fpexp', `fplog ',` fpexpt' og ` fpsqrt '
- tung opprydding av flytende matematiske funksjoner som gir mye bedre ytelse, spesielt for kode kompilert i usikker modus
- kaller `hevde" med et enkelt argument viser testet uttrykket på feil
- ulike feilrettinger og rydde opp
Hva er nytt i versjon 4.2.0:
- kylling-install har blitt modifisert for å sortere biblioteket avhengigheter i topologisk orden, og for å prøve alternative servere hvis et egg serveren svarer med en feil.
- Den kjør stabelen i monterings kode moduler er deaktivert som standard.
- Mange bugs har blitt fikset i MinGW bygge.
- Flere nye alternativer har blitt lagt til kompilatoren og tolk.
Hva er nytt i versjon 3.4.0:
- Kompilatoren støtter nå selektiv prosedyre profilering.
- Alle filrelaterte prosedyrer har blitt flyttet til nye enhets filer.
- Det har vært mange feilrettinger til Cygwin og MinGW bygger.
- PCRE sammen med kylling er oppdatert.
Kommentarer ikke funnet