de pui este o aplicație gratuită și open source compilator pentru limbajul de programare sistem. Acesta este compatibil cu sistemul de operare Linux / UNIX.
Pui produce eficient și portabil C, și sprijină multe din standardul limbii sistemului actual (a se vedea lista de mai jos pentru detalii).
Acesta oferă out-of-the-box de suport pentru Srfl 0 (cond-extinde), Srfl 1 (Lista bibliotecă), Srfl 2 (și-lasa *), Srfl 4 (tipuri de date omogene vector numerice), Srfl 6 (porturi șir de bază ), Srfl 8 (a primi), Srfl 9 (tipuri de înregistrări), Srfl 10 (#, forma exterioară), Srfl 13 (String bibliotecă), Srfl 14 (bibliotecă set de caractere), Srfl 16 (caz-lambda), Srfl 17 ( set generalizat!), Srfl 18 (suport multithreading), Srfl 23 (eroare), Srfl 25 (primitive matrice multidimensionale), Srfl 26 (cut, dragut), Srfl 28 (format), Srfl 30 (comentarii Block), Srfl 37 ( argument de program procesor), Srfl 38 (reprezentare externă a datelor cu structura comuna), Srfl 39 (Parametri), Srfl 40 (bibliotecă Stream), Srfl 42 (comprehensions dornici), Srfl 43 (bibliotecă Vector) și Srfl 55 (necesita-extensie ).
Ce este nou în această versiune:
- Această versiune include mai multe de securitate și de impact corecții importante, după o recentă sindrofie bug-vânătoare de hackeri noastre de baza.
Ce este nou în versiunea 4.8.0.5:
- Această versiune include mai multe de securitate și de impact corecții importante, după o recentă sindrofie bug-vânătoare de hackeri noastre de baza.
Ce este nou în versiunea 4.8.0.3:
- Această versiune repară în primul rând un bug pe Linux și Solaris care provoacă utilizarea procesorului de mare, atunci când de așteptare pentru procesul de copil I / O.
Ce este nou în versiunea 4.8.0.2:
- Interpret:
- Fix regres în, d pentru procedurile, ceea ce a dus la o eroare sprintf.
- Compilator:
- Fix rescrierea de liniile (~~) în printf.
- Runtime:
- Permiteți & gt; Morman 4GB pe sistemele pe 64 de biți (# 974).
- bibliotecă lipsă Adaugata (-lrt) pe Solaris pentru apelurile nanosleep (# 970).
- sistem Build:
- Utilizați -f încercare în loc de testare -e în identify.sh să împace Solaris.
Ce este nou în versiunea 4.8.0.1:
- remedierile de securitate:
- Utilizați POSIX sondaj () pe sistemele unde sunt disponibile. Aceasta evită un defect de proiectare în select (); sprijină nu mai mult de descriptori FD_SETSIZE.
- bibliotecile de bază:
- fix EINTR manipulare în procesul de așteptare și atunci când lectură de la porturile de fișiere.
- Bugfix pentru irregex (# 686). Notă:. Deși irregex.scm spune acum versiunea 0.9.2, versiunea 0.8.3 este de fapt, plus câteva patch-uri portate
- Problema fixe în "make-caii de acces", care a revenit o cale absolută în cazul dat una relativă, fără un argument director.
- Pe sistemele pe 64 de biți identificatorul caracteristica "pe 64 de biți" este înregistrată.
- Compilator:
- diferite bug-uri fixe în baza de date de tip.
- Remedieri de erori și îmbunătățiri ale scrutător.
- în trecere fluxului de analiza, potrivirea de tip de combinații de "liste" / "lista a" tipuri a fost făcut mai fiabile.
- Sintaxa expander:
- Asigurați-definește macro-redenumit în incepe organisme (module interior) vizibile cu forme mai târziu. (# 944).
- Runtime:
- cod incorect fixă în conversia argument străin pentru "nesemnat-integer64" (# 955).
- instrumente de bază:
- Calea linker de execuție pentru executabile compilate nu a fost setată corect pe sistemele FreeBSD.
- Fix rupere instala-extensie atunci când a doua arg conține perechi (SRC DST).
- sistem Build:
- Prevenirea reconstruirea de buildversion.scm pe fiecare face (1) pe Windows.
Sistemul
Ce este nou în versiunea 4.8.0:
- Interfețe și functori au fost adăugate la sistemul de modulul.
- Sistemul de tip a fost extins.
- Un număr mare de bugfixes și curățare general, au fost făcute în compilatorul, sistem de rulare, biblioteci de bază, și sintaxă expander.
Ce este nou în versiunea 4.6.0:
- Unele optimizări de compilare au fost îmbunătățit în mod semnificativ.
- mai multe proceduri built-in și alocarea procedurilor de liste, vectori, și structuri genera cod mai rapid.
- Unitati Srfl-4 și-Srfl 18 au fost puternic curățat și optimizat.
- Mai multe bug-uri au fost stabilite în planificatorul fir.
- pui de instalat a fost extins, iar sprijinul compilare centrare a fost actualizat în mod semnificativ.
- Sistemul construi suportă acum mai multe platforme și compilatoare.
- Diferitele scripturi de infrastructură au fost revizuite pentru a reflecta structura noii infrastructuri site-ul Web.
Ce este nou în versiunea 4.4.0:
- sistemul poate fi acum construit cu LLVM-gcc și / sau "zăngănit" (compilatorul C LLVM care nu utilizează interfața GNU C)
- adăugat noua optiune `-trunk 'la` pui de instalat ", care clădire forțele și instalarea versiunii de dezvoltare a extensiilor în combinație cu` -t locală "
- adăugat noua optiune `-deploy 'la` pui-install', care se bazează extensie pentru utilizarea în aplicații "implementate" (vezi mai jos)
- adăugat opțiunea `-deploy 'la` CSC ", șoferul compilator. Cu această opțiune `CSC" poate construi pe deplin pachete de aplicații autonom și dublu-clickable aplicații Macintosh GUI; vezi "Deployment" capitolul manual pentru mai multe informații
- directorul dat "opțiunea de a` pui-install '`-prefix poate fi acum o cale relativă.
- eliminat bibliotecă de rulare-GUI specifice (`libchicken-gui ') de la Windows construi
- de ghidare a și non-GUI folosi acum aceeași bibliotecă de execuție
- forme speciale ale interfeței-funcția de externe au fost înlocuite cu o formă internă și sintaxă, pentru a permite redenumirea și shadowing acestor forme
- noul "opțiune în` CSC '`privată-depozit compilează executabile cu calea-extensie depozit setat la directorul de la care a fost demarat programul
- `CSC": depreciat `-w '-Windows și` "opțiuni, a adăugat` gui "ca un înlocuitor independent de platforma
- `necesita-extensie" / `utilizarea" acceptă acum de import-caietul de sarcini
- definite de utilizator extensie-specificatori și `set-extensie-specificator!" au fost eliminate
- `șterge fișier [*]", `redenumiți-fișier ',` a crea-director', `file-copie", `file-mișcare", `șterge-director 'și` schimbare director "întoarce argumentul lor / filename destinație în succes
- adăugat procedura lipsesc `stare-variabila-nume" la Srfl-18 Unitatea de bibliotecă (Datorită Joerg Wittenberger)
- `glob? Funcția de la unitatea de `regex" a fost depreciat
- adăugat procedura `-input-linii de scanare" la `utils" unitate bibliotecă
- adăugat noua optiune de arhivare `-: g", care permite GC ieșire de depanare
- recuperarea simbolurilor neutilizate în modul "simbol-gc" (`-: w ') acum are loc numai pentru simboluri cu o lista de proprietate goală
- pe Windows încărcare de cod compilat cu [non-] bibliotecile de rulare GUI va eșua și produce un mesaj de eroare atunci când executabil de încărcare este legat cu un sistem de execuție diferit
- pe Windows, biblioteci GUI nu au fost legate în mod corect de către `CSC"
- unitatea de POSIX: setter adăugată pentru `file-modificare-time"
- banner arată branchname a construi, cu excepția cazului este "maestru"
- "opțiunea de a` pui-install '`-no-a instala este ignorat atunci când construirea / instalarea dependențelor
- `pui-dezinstalare" are o glob în loc de o expresie regulată ca argument
- Redenumire și compara funcții pentru macro-definiții low-level accepta acum arbitrar s-expresii și redenumește / le compară recursiv
- `numărând & gt; string" se ocupă de numere negative, cu baze diferite de la 10 corect (datorită lui Peter Danenberg)
- îndepărtat depreciat `Setup-instala-flag 'și` configurare-verbose-pavilion "din modulul de configurare`-api "
- adăugat noua optiune `-repository 'la` pui de instalat "(multumita lui Christian Kellermann)
- eliminat `pui-setup" program ciot
- fix la `CSC" pentru a utiliza biblioteca corectă atunci când fixarea căi de încărcare dinamice (Datorită Derrell Piper)
- documentare html eliminate din distribuție (manualul de wiki va fi instalat acum)
- bug fix în `reexport" care a provocat sintaxă nu trebuie să fie reexportate în mod corect
- misiuni anterioare o variabilă toplevel care sunt separate de expresii gratuite efect secundar sunt eliminate
- versiune de Windows fix de `găsi fișiere" (datorită Jim Ursetto)
- documentația pentru extensii nu este instalat automat prin `pui-install 'mai
- schimbat versiunea binar de la "4" la "5", pentru că noi biblioteci de rulare nu sunt binare compatibile cu versiunile anterioare; acest lucru înseamnă toate ouăle trebuie să fie reinstalat și programele existente să fie recompilat!
- adăugat pasă unboxing la compilator ceea ce duce la îmbunătățiri de performanță parțial dramatice pentru nesigure cod plutitoare-intensive punct; unboxing este activat pe nivele de optimizare 4 și 5
- îndepărtat de optimizare odihnă-argument-vector, deoarece ar putea intra în conflict cu plasare inline (datorită Sven Hartrumpf)
- redenumit `'la` pointer +' și depreciată offset pointer `'offset pointer
- misiuni toplevel care nu au alte efecte secundare pot fi eliminate dacă se poate demonstra că valoarea nu este utilizat (compilatorul va genera un avertisment în acest caz)
- depreciat "opțiune în` pui "eliminat` -quiet programul
- îndepărtat depreciate-time rula-macrocomenzi declarație `"
- îndepărtat depreciat `-v2 'si` -v3 "opțiuni în` program de CSC "
- îndepărtat depreciat `lista de" funcție (este disponibil exclusiv ca `lista de?" acum)
- îndepărtat depreciat `STAT -..." funcții în unitate bibliotecă POSIX
- eliminat depreciat `pentru fiecare-linie 'și` pentru fiecare--argv-line "proceduri în utils unitate bibliotecă
- adăugat `fpinteger? și `fpabs"
- depreciat `defini-compilate-sintaxă"
- adăugat noi primitive în virgulă mobilă `fpsin ',` fpcos', `fptan ',` fpasin', `fpacos ',` fpatan', `fpatan2 ',` fpexp', `fplog ',` fpexpt' și ` fpsqrt "
- curățare greu de funcții matematice plutitor care oferă performanțe mult mai bine, mai ales pentru codul compilat în modul nesigur
- de asteptare `afirma" cu un singur argument prezinta expresia testat pe eșec
- diferite bugfixes și pentru curățenie
aplicații
Ce este nou în versiunea 4.2.0:
- pui de instalat a fost modificat pentru a sorta dependențele bibliotecii în ordine topologic, și să încerce servere alternative dacă un server ou răspunde cu o eroare.
- stivă executabil în module de cod de montaj este dezactivată în mod implicit.
- multe bug-uri au fost stabilite în a construi MinGW.
- Mai multe opțiuni de noi au fost adăugate la compilator și interpret.
Ce este nou în versiunea 3.4.0:
- compilator suportă acum procedură selectivă profilare.
- Toate procedurile legate de fișiere au fost mutate în fișiere noi unități.
- Au existat numeroase remedieri la Cygwin și MinGW construiește.
- PCRE pachet cu pui a fost actualizat.
Comentariile nu a fost găsit