Ang Pascal Compiler ay isang open source compiler na sumusuporta sa mga sumusunod na operating system: Linux, FreeBSD, NetBSD, MacOSX / Darwin, MacOS classic, DOS, Win32, OS / 2, BeOS, SunOS (Solaris), QNX at Classic Amiga.
Ang Libreng Pascal Compiler ay magagamit para sa iba't ibang mga processor Intel x86, Amd64 / x86 64, PowerPC, PowerPC64, Sparc at ARM.
Nagtatampok ang libreng Pascal Compiler ng isang malinis na wika, gumagamit ito ng walang Makefiles na hindi katulad ng karamihan sa mga programming language, ito ay Mabilis na may isang malaking F, ang bawat yunit ay may sariling mga tagapagpakilala, at kabilang ang isang IDE (Integrated Development Environment).
Bukod dito, ang software ay nagtatampok ng mahusay na pagsasama sa assemblers, programming ng object-oriented, smartlinking, pamamahagi ng pagsasarili, at ito ay katugma sa umiiral na code.
Ano ang bagong sa release:
- Ang bersyon na ito ay isang pag-update ng punto sa 3.0 at naglalaman ng mga bugfix at mga update ng mga pakete, na ang ilan ay mataas ang priyoridad.
Ano ang bagong sa bersyon:
- Mga pagbabago sa wika:
- Anonymous na minana tawag:
- Mga lumang pag-uugali: Maaaring tumawag sa isang hindi nakikilalang minana tawag sa anumang paraan sa isang klase ng magulang na tumanggap ng mga argumento na katugma sa mga parameter ng kasalukuyang paraan.
- Bagong pag-uugali: Ang isang di-kilala na minana na tawag ay garantisadong na laging tumawag sa paraan sa isang klase ng magulang na na-override ng kasalukuyang.
- Halimbawa: Tingnan ang http://svn.freepascal.org/svn/fpc/trunk/tests/tbs/tb0577.pp. Sa nakaraang mga bersyon ng FPC, ang minanang tawag sa tc3.test ay tatawaging sa tc2.test (b: byte; l: longint = 1234); Ngayon tumatawag ito sa tc.test.
- Dahilan: Sumunod sa dokumentong FPC, pagkakatugma sa Delphi.
- Remedy: Kung nais mo ang tagatala na magpasya kung anong paraan ang tatawagan batay sa tinukoy na mga parameter, gumamit ng isang ganap na tinukoy na pamana na ekspresyon ng tawag tulad ng minanang test (b).
- Dapat na naroroon ang overload modifier sa interface:
- Mga lumang pag-uugali: Posibleng idedeklara ang isang function / pamamaraan / pamamaraan bilang labis na karga sa pagpapatupad.
- Bagong pag-uugali: Kung ginamit ang isang overload na direktiba, dapat din itong lumitaw sa interface.
- Dahilan: Ang lumang mekanismo ay maaaring maging sanhi ng mahirap na makahanap ng mga problema (depende sa kung ang pagpapatupad ay na-parse, ang tagatala ay ituturing ang gawain na kung ito ay ipinahayag na may / walang labis na karga), maaari itong maging sanhi ng hindi ginustong mga recompilations ng unit upang mag-interface ng mga pagbabago ng crc, at pagkakatugma ng Delphi.
- Lunas: Tiyaking naroon ang overload modifier sa interface at sa pagpapatupad kung gagamitin mo ito.
- Mga pagbabago sa yunit:
- Maraming mga pamamaraan ng mga pagbabago sa TDataset ang lagda (TRecordBuffer):
- Mga lumang pag-uugali: Maraming (virtual) pamamaraan ng TDataset ang may mga parameter ng uri & quot; pchar & quot;, na madalas na tinatawag na & quot; buffer & quot;.
- Bagong pag-uugali: Ang uri ng pchar ay binago sa TRecordBuffer. Sa kasalukuyan ang uri na ito ay pa rin ng isang alias para sa p (ansi) char, ngunit sa oras na ito ay mabago sa pbyte para sa 2.7.1 / 2.8.0 sangay, na D2009 + compatible.
- Dahilan: Paghahanda para sa pagiging tugma ng Delphi 2009+ at pagpapabuti ng pangkalahatang pag-type. Sa Delphi 2009+ (at ganap na tugma ang mga mode ng FPC sa hinaharap) ang pchar ay hindi pointer sa byte anymore. Ang pagbabagong ito ay ipagsasama muli sa 2.6 (.2), ngunit may TRecordBuffer = pchar.
- Remedy: Baguhin ang may-katuturang mga virtual na paraan upang magamit ang TRecordBuffer para sa mga parameter ng buffer. Tukuyin ang TRecordBuffer = pansichar upang panatilihing nagtatrabaho ang mas lumang Delphis at FPC. Sa mga lugar kung saan ang isang buffer ay typecasted, huwag gumamit ng pchar ngunit ang simbolong TRecordbuffer.
- Ang DLLParam ay nagbago mula sa Longint papunta sa PtrInt:
- Old behavior: DLLParam ay uri ng Longint kahit sa Win64.
- Bagong pag-uugali: Ang DLLParam ay ngayon ng uri PtrInt kaya din sa 64 Bit na mga system.
- Dahilan: Pigilan ang pagkawala ng data, tumugma sa deklarasyon sa mga header ng Windows.
- Lunas: Baguhin ang deklarasyon ng mga pamamaraan na ginagamit bilang hook ng dll upang kumuha ng parameter na PtrInt sa halip na Longint.
- Ang ilang mga simbolo sa unit Unix at Unixutils ay hindi na ginagamit:
- Old behavior: Walang deprecated na babala para sa unixutils.getfs (ilang variant), unix.fpsystem (shortstring version lamang), Unix.MS_ constants at unix.tpipe. unix.statfs
- Bagong pag-uugali: Ang tagatala ay magpapalabas ng isang hindi babala na babala para sa mga simbolo na ito. Sa mga bersyon sa hinaharap maaaring alisin ang mga ito.
- Dahilan: ang mga getfs ay pinalitan ng isang ganap na cross-platform function sysutils.getfilehandle matagal na ang nakalipas. Ang fpsystem (shortstring) ay isang tira ng paglipat ng 1.0.x- & gt; 2.0.x (ang suportang bersyon ay nananatiling suportado), ang MS_ constants ay para sa isang msync na tawag na hindi sinusuportahan ng FPC, at sa gayon ay hindi ginagamit at walang check para sa higit sa isang dekada at maaaring petsa sa kernel 1.x beses, tpipe ay ang 1.0.x alias ng baseunix.TFildes, ang yunit kung saan ang (fp) pipe ay inilipat sa sa panahon ng 2.0 serye. Ang Unix.statfs ay isang overloaded na bersyon na hindi maayos na pinalitan ng pangalan sa fp * prefix kapag ang iba ay pinalitan ng pangalan sa 2.4.0
- Remedy: Gamitin ang mga bagong variant (sysutils.getfilehandle, fpsystem (ansistring), baseunix.tfildes). Sa kaso ng constants MS_, kumuha ng mga kasalukuyang halaga para sa mga constants mula sa parehong lugar kung saan nakuha mo ang code na gumagamit ng mga ito.
- Ang pag-uugali ng TStrings.DelimitedText ay nagbago (Mga Klase ng yunit):
- Mga lumang pag-uugali: Kung ang StrictDelim ay totoo, ang TStrings.DelimitedText ay hindi ganap na sumunod sa pagtutukoy ng format ng SDF (na tinukoy sa tulong ng Delphi) kahit na sa mga puwang (at siguro ay iba pang mga mababang karakter na ASCII) sa harapan at sa dulo ng mga patlang pati na rin ang mga quote at mga ending ng linya. Mas masahol pa, kung ang StrictDelimiter ay totoo, at sa mga kaso na binanggit sa itaas, nagse-save ng TString. Ang DelimitedText at pag-load ng tekstong iyon sa ibang TString ay humantong sa mga pagkakaiba sa pagitan ng dalawa. Tandaan: Mali ang StrictDelimiter bilang default.
- Bagong pag-uugali: sinusunod ng FPC ang pag-uugali ng Delphi.
- Dahilan: Ang pagkakasunud-sunod (pagsulat at pagbabasa sa DelimitedText ay dapat magresulta sa parehong mga string), pagkakatugma ng Delphi (pagsunod sa pagtutukoy ng SDF).
- Remedy: Suriin ang iyong umiiral na code na bumabasa o sumulat ng DelimitedText; kung kinakailangan mag-convert ng data o isulat ang converter code. Tingnan ang mga pagsusulit webtbs tw19610.pp para sa isang detalyadong pagsusuri.
- fcl-image TTiffIDF pinalitan ng pangalan sa TTiffIFD:
- Old behavior: Ang klase ng tiff helper para sa & quot; direktoryo ng file na & quot; ay misspelled TiffIDF (tiffcmn yunit)
- Bagong pag-uugali: Na-renamed na ngayon sa TTiffIFD
- Dahilan: Pagkapare-pareho, mababang paggamit
- Remedy: Palitan ang pangalan ng tagatukoy kung naaangkop. Isinasaalang-alang ng
- Mga lumang pag-uugali: Habang hindi na ginagamit ng mga taon ang libc unit ay hindi nag-isyu ng isang hindi na ginagamit na babala
- Bagong pag-uugali: Ang isang deprecated na babala ay ipinapakita kapag ginagamit ang yunit libc, na hinimok ang iyong pag-update.
- Dahilan: ang yunit ng libc ay isang yunit ng legacy ng Kylix, na may limitadong dalhin
- Remedy: Gumamit ng mga tamang yunit ng FPC gaya ng inilarawan sa libc unit
- Iba pa:
- Ang suporta ng UPX ay inalis na:
- Mga lumang pag-uugali: Nagkaroon ng ilang mga natitirang UPX (isang executable packer) na suporta sa FPC Makefiles, at DOS at Windows FPC release kasama ang UPX binary.
- Bagong pag-uugali: Lahat ay inalis.
- Dahilan: Ang paglabas ng mga binary ay hindi UPX'ed nang ilang sandali. Ang laki ng FPC executables ay karaniwang hindi gaanong mahalaga sa mga araw na ito kung ikukumpara sa kabuuang sukat ng pag-install, at ang paggamit ng UPX paminsan-minsan ay nagiging sanhi ng ilang mga maliliit na annoyances (maling positibo mula sa mga scanner ng virus, mas masama paging pag-uugali ng OS, hindi magkatugma sa ilang mga maipapatupad na seksyon, ...)
- Remedy: I-download at i-install ang UPX mula sa homepage nito at sa pangkalahatang pagsusuri na kailangan para dito.
ang unit libc ang isang hindi wastong babala:
Ano ang bago sa bersyon 2.4.4:
- Ang bersyon na ito ay naglalaman ng karamihan sa mga pag-aayos ng library mula sa unang bahagi ng Hunyo 2010 hanggang Marso 2011.
- Mayroon ding ilang mga pag-aayos ng compiler, karamihan ay may kaugnayan sa 64-bit.
Ano ang bago sa bersyon 2.4.0:
- Delphi tulad ng mga mapagkukunan para sa lahat ng mga platform,
- Dwarf debug impormasyon pagpapabuti,
- Maraming bagong mga target
- 64-bit Mac OS X (x86_64 / ppc64)
- iPhone (Mac OS X / Arm)
- Haiku (mula sa pamilyang BeOS)
- Pinabuting ARM EABI support
- Buong optimization ng programa
- Maraming mga bugfixes ng compiler at kalahati ng isang taon ng mga update sa library (mula noong 2.2.4)
Ano ang bago sa bersyon 2.2.4:
- Lahat:
- Mga tool sa pag-install na pang-eksperimento
- Mga Pakete:
- Nagdagdag ng suporta para sa pagbabasa / pagsulat ng TIFF sa fcl-image
- Mga pagpapabuti at pag-aayos sa suporta ng CHM
- Naayos ang pag-link sa gtk2-package na may mga bersyon gtk sa itaas 2.13.4
- IDE:
- Nagdagdag ng suporta para sa mga file ng tulong ng CHM
Mga Komento hindi natagpuan