Free Pascal Compiler

Software screenshot:
Free Pascal Compiler
Software ətraflı:
Version: 3.0.4 Yenil?nib
Tarixi Upload: 22 Jun 18
Geliştirici: Daniel Mantione
Lisenziya: Pulsuz
Məşhurluq: 262

Rating: 4.0/5 (Total Votes: 2)

Linux, FreeBSD, NetBSD, MacOSX / Darwin, MacOS klassik, DOS, Win32, OS / Windows, Pascal kompilyatoru, Pascal kompilyatorudur.

Pulsuz Pascal Compiler (aka FPK Pascal) 2, BeOS, SunOS (Solaris), QNX və Classic Amiga.

Pulsuz Pascal Compiler, Intel x86, Amd64 / x86 64, PowerPC, PowerPC64, Sparc və ARM müxtəlif prosessorlar üçün mövcuddur.

Pulsuz Pascal Compiler çox təmiz bir dilə malikdir, ən çox proqramlaşdırma dillərindən fərqli olaraq heç bir Makefile istifadə etmir, böyük F ilə sürətlidır, hər bir ünsiyyət öz identifikatorlarına malikdir və IDE (Integrated Development Environment) daxildir.

Ayrıca, proqram, montajçılar, obyektlərə yönəlmiş proqramlaşdırma, smartlinkinq, paylanma müstəqilliyi ilə böyük inteqrasiya edir və mövcud kodla uyğun gəlir.

Bu yeni nə

  • Bu versiya 3.0 üçün bir nöqtə yeniləmə və bəziləri yüksək prioritet olan bugfixes və yeniləmə paketləri ehtiva edir.

Sürümdeki yeni :

  • Dil dəyişiklikləri:
  • Anonim miras alınmış zənglər:
  • Köhnə davranış: Anonim miras alınmış çağırış, mövcud metodun parametrlərinə uyğun olan arqumentləri qəbul edən valideyn sinifində hər hansı bir üsula müraciət edə bilər.
  • Yeni davranış: Anonim bir miras alınmış çağırış həmişə valideyn sinifində cari olanlar tərəfindən ləğv edilən üsula zəng etmək üçün təmin edilir.
  • Məsələn: http://svn.freepascal.org/svn/fpc/trunk/tests/tbs/tb0577.pp saytına baxın. Əvvəlki FPC versiyalarında, tc3.test'teki devralınmış çağrı tc2.test (b: bayt; l: longint = 1234); İndi tc.test üçün çağırır.
  • Səbəb: FPC sənədlərinə, Delphi uyğunluğu.
  • Çözüm: Belirtilen parametrelere göre çağrılacak olan üsula derleyici karar vermesini isterseniz, devralınan test (b) kimi tamamen belirtilen devralınmış çağrı ifadesini istifadə edin.
  • Arxivdə həddindən artıq yük dəyişən olmalıdır:
  • Köhnə davranış: Bir funksiyanı / proseduru / metodunu yalnız həyata keçirmək üçün yükləmək kimi elan etmək olardı.
  • Yeni davranış: Bir overload direktivi istifadə edildikdə, bu interfeysdə də görünməli.
  • Səbəb: Köhnə mexanizm problemləri tapmaqda çətin ola bilər (tətbiqin artıq ayrıştırılmasından asılı olmayaraq, kompilyator rütbeyi aşırı yüklə / bəyan edildiyi kimi qəbul edər), bu səbəbdən istenmeyen vahidin yenidən tərtib edilməsinə səbəb ola bilər crc dəyişikliklər və Delphi uyğunluğu interfeys.
  • Xəta: Artıq yük dəyişəninin həm interfeysdə, həm də tətbiqində istifadə edildiyinə əmin olun.
  • Cihaz dəyişiklikləri:
  • TDataset bir neçə üsul imza dəyişir (TRecordBuffer):
  • Köhnə davranış: TDatasetin bir neçə (virtual) üsulu tez-tez "tampon" adlanan tipli "pchar" parametrlərinə malikdir.
  • Yeni davranış: pchar növü TRecordBuffer üçün dəyişdirildi. Hal-hazırda bu tip p (ansi) char üçün bir aliasdır, lakin zamanla, D2009 + uyğun olan 2.7.1 / 2.8.0 filialı üçün pbyte olaraq dəyişdiriləcəkdir.
  • Səbəb: Delphi 2009 + uyğunluğu və ümumi yazaraq yaxşılaşdırılması üçün hazırlıq. Delphi 2009+ (və gələcəkdə tam uyğun FPC rejimi) pchar artıq bayt üçün göstərici deyil. Bu dəyişiklik 2.6 (.2) ilə birləşdiriləcək, lakin TRecordBuffer = pchar ilə.
  • Qarşıya yükləmə: Buffer parametrləri üçün TRecordBuffer istifadə etmək üçün müvafiq virtual üsulları dəyişdirin. TRecordBuffer = pansichar'ı köhnə Delphis və FPCs işləyib saxlamaq üçün təyin edin. Bir arabellek yazıldığı yerlərdə, pchar deyil, simvolu TRecordbuffer istifadə etməyin.
  • DLLParam Longint-dən PtrInt-ə dəyişdi:
  • Köhnə davranış: DLLParam WinLight da Longint tipində idi.
  • Yeni davranış: DLLParam artıq PtrInt tipindədir, beləliklə də 64 bit sistemləri.
  • Səbəb: Məlumatların itirilməsini qarşısını almaq, Windows başlıqlarında bəyanata uyğun gəlir.
  • Qarşıya yükləmə: Longint yerine PtrInt parametri almaq üçün DLL kancası olaraq istifadə olunan prosedurların bildirişini dəyişdirin.
  • Unix və Unixutils ünitelerindeki bəzi simvollardan istifadə edilmir:
  • Köhnə davranış: Unixutils.getfs (bir neçə varyant), unix.fpsystem (yalnız ştrix versiya), Unix.MS_ sabitləri və unix.tpipe üçün köhnəlmiş xəbərdarlıq yoxdur. unix.statfs
  • Yeni davranış: Derleyici bu simvollar üçün köhnəlmiş bir xəbərdarlıq yayacaq. Gələcək versiyalarda bunlar silinə bilər.
  • Səbəb: getfs əvəzinə bir çox platforma funksiyası sysutils.getfilehandle ilə əvəz edilmişdir. fpsystem (shortstring), 1.0.x-> 2.0.x köçürməsinin (ansistring versiyası dəstəklənir) bir qalanıdır, MS_ sabitləri FPC tərəfindən dəstəklənməyən bir msync çağırışı üçündir və beləliklə istifadə edilməmiş və on ildən artıqdır və kernel 1.x dəfə tarixə malik ola bilər, tpipe 2.0 seriyası ərzində (fp) borunun köçürüldüyü birim olan baseunix.TFildes'in 1.0.x aliasları idi. Unix.statfs, digərləri 2.4.0 olaraq adlandırıldıqda, düzgün bir şəkildə fp * prefiksinə dəyişdirilməmiş bir yüklənmiş versiyasıdır.
  • Çözüm: Yeni variantları istifadə edin (sysutils.getfilehandle, fpsystem (ansistring), baseunix.tfildes). MS_ sabitləri halında, onları istifadə edən kodu aldığınız yerdən sabitlərin mövcud dəyərlərini əldə edin.
  • TStrings.DelimitedText davranışı dəyişdi (vahid sinifləri):
  • Köhnə davranış: StrictDelim doğruysa, TStrings.DelimitedText, heç olmasa boşluqlar (və ehtimal digər aşağı ASCII simvolları) qarşısında və sonunda, SDF formatı dəqiqləşdirilməsini (Delphi yardımında müəyyənləşdirilmiş) tamamilə təqib etməyib. sahələr, həmçinin quotes və xətt sonluğu. Daha pis, əgər StrictDelimiter doğruysa və yuxarıda göstərilən hallarda TString saxlayarsa .DelimitedText və başqa bir TStringdə bu mətn yüklənməsi ikisi arasındakı fərqlərə gətirib çıxarır. Qeyd: StrictDelimiter default olaraq yalanandır.
  • Yeni davranış: FPC Delphi davranışını izləyir.
  • Səbəb: Davamlılıq (DelimitedText-də yazma və oxu eyni şerlər ilə nəticələnə bilər), Delphi uyğunluğu (SDF dəqiqləşdirməsindən sonra).
  • Çıxarma: DelimitedText oxuyan və yazan mövcud kodunuzu nəzərdən keçirin; lazım olduqda məlumatları çevirə və ya çevirici kodunu yazın. Ətraflı test üçün testlər webtbs tw19610.pp 'a baxın.
  • TTiffIDF fcl-image TTiffIFD olaraq dəyişdirildi:
  • Köhnə davranış: "image file directory" üçün tiff köməkçi sinfi. TiffIDF (tiffcmn vahidi)
  • yazıldı
  • Yeni davranış: İndi TTiffIFD adını dəyişdi
  • Səbəb: Ardıcıllıq, aşağı istifadə
  • Xəta: müvafiq olaraq identifikatorun adını dəyişin.
  • vahid libc, qadağan edilmiş bir xəbərdarlıq verir:
  • Köhnə davranış: Yıllar keçdikdən sonra libc birləşməsi təxirə salınmış xəbərdarlıq vermədi
  • Yeni davranış: Cari libc istifadə edildikdə, yeniləməyə çağırdığınız zaman qorxudan xəbərdarlıq göstərilir.
  • Səbəb: vahid libc məhdud portativliyi olan bir Kylix irsi vahididir
  • Çıxarma: libc vahidində təsvir edilən müvafiq FPC vahidlərini
  • istifadə edin
  • Digər:
  • UPX dəstəyi silindi:
  • Köhnə davranış: FPC Makefiles-də bəzi qalıcı UPX (bir yürütülebilir paketçi) dəstəyi var idi və DOS və Windows FPC azadatları bir UPX ikili daxil idi.
  • Yeni davranış: Bütün silindi.
  • Səbəb: Binarylar bir müddət UPX'dir. FPC-nin yerinə yetirilməsinin ölçüsü bu gün ümumi yükləmə ölçüsüylə müqayisədə əhəmiyyətsizdir və UPX bəzən bəzi kiçik tıxaclara səbəb olur (virüs skanerlərindən pozulan pozitivlər, OS tərəfindən pis peyk davranışları, bəzi icra edilən bölmələrlə uyğunsuzluqlar ...)
  • Qarşıya yükləmə: UPX-ni öz səhifənizdən yükləyin və yükləyin və bunun ehtiyacını yenidən nəzərdən keçirin.

2.4.4 versiyasında yeni :

  • Bu versiya ən çox kitabxana düzeltmelerini iyun 2010-cu ilin martından 2011-ci ilin mart ayına qədər ehtiva edir.
  • 64-bitə çox aid olan bəzi kompilyator düzəlişləri var.

  • 2.4.0 versiyasında :

    • Bütün platformalar üçün resurslar kimi Delphi,
    • Cırtdan məlumatların təkmilləşdirilməsi məlumatları
    • Bir neçə yeni hədəf
    • 64-bit Mac OS X (x86_64 / ppc64)
    • iPhone (Mac OS X / Arm)
    • Haiku (BeOS ailəsindən)
    • Təkmilləşdirilmiş ARM EABI dəstəyi
    • Bütün proqram optimizasyonu
    • Bir çox derleyici bugfixes və kitabxana yeniləmələrinin yarısı (2.2.4-dən bəri)

      • Bütün:
      • Eksperimental paketləri quraşdırma qurğu
      • Paketlər:
      • TIFF-ni fcl-image-də oxumaq / yazmağı dəstəkləyib
      • CHM dəstəyində düzəlişlər və düzəlişlər
      • gtk2-paketini 2.13.4-dən yuxarı GTK versiyaları ilə sabitləşdirmək
      • IDE:
      • CHM yardım faylları üçün əlavə dəstək

Oxşar proqram

ccache
ccache

20 Feb 15

purepy
purepy

14 Apr 15

boot
boot

20 Feb 15

Şərh Free Pascal Compiler

Şərhlər tapılmadı
Şərh əlavə
Images yandırın!