Pascal Compiler Gratis (alias FPK Pascal) adalah kompilator Pascal open source yang mendukung sistem operasi berikut: Linux, FreeBSD, NetBSD, MacOSX / Darwin, MacOS klasik, DOS, Win32, OS / 2, BeOS, SunOS (Solaris), QNX dan Classic Amiga.
Pascal Compiler Gratis tersedia untuk berbagai prosesor Intel x86, Amd64 / x86 64, PowerPC, PowerPC64, Sparc dan ARM.
Kompiler Pascal Gratis memiliki bahasa yang sangat bersih, tidak menggunakan Makefile tidak seperti kebanyakan bahasa pemrograman, Fast dengan F besar, setiap unit memiliki pengidentifikasi sendiri, dan termasuk IDE (Integrated Development Environment).
Selain itu, perangkat lunak ini memiliki integrasi yang hebat dengan perakit, pemrograman berorientasi objek, smartlinking, kemandirian distribusi, dan kompatibel dengan kode yang ada.
Apa yang baru di ini rilis:
- Versi ini adalah pembaruan titik ke 3.0 dan berisi perbaikan bug dan paket pembaruan, beberapa di antaranya merupakan prioritas tinggi.
Apa yang baru dalam versi:
- Perubahan bahasa:
- Panggilan anonim yang diwariskan:
- Perilaku lama: Panggilan warisan anonim dapat memanggil ke metode apa pun di kelas induk yang menerima argumen yang kompatibel dengan parameter metode saat ini.
- Perilaku baru: Panggilan warisan anonim dijamin untuk selalu memanggil metode di kelas induk yang diganti oleh yang saat ini.
- Contoh: Lihat http://svn.freepascal.org/svn/fpc/trunk/tests/tbs/tb0577.pp. Pada versi FPC sebelumnya, panggilan yang diwariskan di tc3.test akan memanggil ke tc2.test (b: byte; l: longint = 1234) ;. Sekarang panggilan melalui ke tc.test.
- Alasan: Sesuai dengan dokumentasi FPC, kompatibilitas Delphi.
- Ramuan: Jika Anda ingin compiler untuk memutuskan metode mana yang akan dipanggil berdasarkan parameter yang ditentukan, gunakan ekspresi panggilan yang diwariskan yang sepenuhnya ditentukan seperti uji yang diwariskan (b).
- Pemodifikasi overload harus ada di antarmuka:
- Perilaku lama: Adalah mungkin untuk mendeklarasikan fungsi / prosedur / metode sebagai kelebihan beban hanya dalam implementasi.
- Perilaku baru: Jika direktif kelebihan muatan digunakan, itu juga harus muncul di antarmuka.
- Alasan: Mekanisme lama dapat menyebabkan masalah sulit ditemukan (tergantung pada apakah implementasi sudah diurai atau tidak, kompilator akan memperlakukan rutin seperti jika dinyatakan dengan / tanpa beban berlebih), ini dapat menyebabkan kompilasi ulang unit yang tidak diinginkan untuk antarmuka perubahan CRC, dan kompatibilitas Delphi.
- Ramuan: Pastikan pengubah berlebihan hadir di antarmuka dan dalam penerapan jika Anda menggunakannya.
- Perubahan unit:
- Beberapa metode TDataset mengubah tanda tangan (TRecordBuffer):
- Perilaku lama: Beberapa metode (virtual) dari TDataset memiliki parameter bertipe & quot; pchar & quot ;, yang sering disebut & quot; buffer & quot;.
- Perilaku baru: Jenis pchar telah diubah menjadi TRecordBuffer. Saat ini jenis ini masih merupakan alias untuk p (ansi) char, tetapi pada waktunya akan diubah menjadi pbyte untuk cabang 2.7.1 / 2.8.0, yang kompatibel dengan D2009 +.
- Alasan: Persiapan untuk kompatibilitas Delphi 2009+ dan peningkatan pengetikan umum. Dalam Delphi 2009+ (dan mode FPC yang sepenuhnya kompatibel di masa depan), pchar tidak lagi menunjuk ke byte. Perubahan ini akan digabung kembali ke 2,6 (.2), tetapi dengan TRecordBuffer = pchar.
- Remedy: Ubah metode virtual yang relevan untuk menggunakan TRecordBuffer untuk parameter buffer. Definisikan TRecordBuffer = pansichar untuk menjaga agar Delphi dan FPC tetap bekerja. Di tempat-tempat di mana buffer diketik, jangan gunakan pchar tetapi simbol TRecordbuffer.
- DLLParam diubah dari Longint menjadi PtrInt:
- Perilaku lama: DLLParam adalah tipe Longint bahkan pada Win64.
- Perilaku baru: DLLParam sekarang tipe PtrInt begitu juga pada sistem 64 Bit.
- Alasan: Cegah kehilangan data, cocokkan deklarasi di header Windows.
- Remedy: Ubah deklarasi prosedur yang digunakan sebagai hook dll untuk mengambil parameter PtrInt daripada Longint.
- Beberapa simbol di unit Unix dan Unixutils sudah tidak digunakan lagi:
- Perilaku lama: Tidak ada peringatan yang tidak berlaku untuk unixutils.getfs (beberapa varian), unix.fpsystem (hanya versi shortstring), konstanta Unix.MS_ dan unix.tpipe. unix.statfs
- Perilaku baru: Kompiler akan memancarkan peringatan usang untuk simbol-simbol ini. Di masa depan versi ini dapat dihapus.
- Alasan: getfs telah digantikan oleh fungsi sysutils.getfilehandle yang sepenuhnya lintas platform sejak lama. fpsystem (shortstring) adalah sisa dari migrasi 1.0.x- & gt; 2.0.x (versi ansistring tetap didukung), konstanta MS_ adalah untuk panggilan msync yang tidak didukung oleh FPC, dan dengan demikian tidak digunakan dan tidak dicentang untuk Lebih dari satu dekade dan mungkin tanggal untuk kernel 1.x kali, tpipe adalah alias 1.0.x dari baseunix.TFildes, unit di mana pipa (fp) dipindahkan ke dalam selama 2.0 seri. Unix.statfs adalah versi kelebihan beban yang tidak berganti nama menjadi fp * prefix ketika yang lain berganti nama menjadi 2.4.0
- Ramuan: Gunakan varian baru (sysutils.getfilehandle, fpsystem (ansistring), baseunix.tfildes). Dalam kasus konstanta MS_, dapatkan nilai saat ini untuk konstanta dari tempat yang sama di mana Anda mendapat kode yang menggunakannya.
- TStrings.DelimitedText perilaku berubah (unit Kelas):
- Perilaku lama: Jika StrictDelim benar, TStrings.DelimitedText tidak sepenuhnya mengikuti spesifikasi format SDF (yang didefinisikan dalam bantuan Delphi) setidaknya dalam hal ruang (dan mungkin karakter ASCII rendah lainnya) di depan dan di akhir bidang serta tanda kutip dan akhiran garis. Lebih buruk lagi, jika StrictDelimiter benar, dan dalam kasus-kasus yang disebutkan di atas, menyimpan TString .DelimitedText dan memuat teks itu di TString lain mengarah pada perbedaan di antara keduanya. Catatan: StrictDelimiter salah secara default.
- Perilaku baru: FPC mengikuti perilaku Delphi.
- Alasan: Konsistensi (menulis dan membaca dalam DelimitedText harus menghasilkan string yang sama), kompatibilitas Delphi (mengikuti spesifikasi SDF).
- Ramuan: Tinjau kode yang ada yang membaca atau menulis DelimitedText; jika perlu mengkonversi data atau menulis kode konverter. Lihat tes webtbs tw19610.pp untuk pengujian terperinci.
- fcl-image TTiffIDF diganti namanya menjadi TTiffIFD:
- Perilaku lama: Kelas helper tiff untuk & quot; direktori file gambar & quot; salah mengartikan TiffIDF (unit tiffcmn)
- Perilaku baru: Sekarang diubah namanya menjadi TTiffIFD
- Alasan: Konsistensi, penggunaan rendah
- Ramuan: Ganti nama pengidentifikasi yang sesuai.
- unit libc menerbitkan peringatan yang tidak berlaku lagi:
- Perilaku lama: Meskipun tidak digunakan lagi selama bertahun-tahun, unit libc tidak mengeluarkan peringatan yang tidak berlaku lagi
- Perilaku baru: Peringatan yang tidak berlaku ditampilkan ketika unit libc digunakan, meminta Anda untuk memperbarui.
- Alasan: unit libc adalah unit warisan Kylix, dengan portabilitas terbatas
- Ramuan: Gunakan unit FPC yang tepat seperti yang dijelaskan dalam libc unit
- Lainnya:
- Dukungan UPX telah dihapus:
- Perilaku lama: Ada beberapa sisa dukungan UPX (executable packer) di FPC Makefile, dan rilis DOS dan Windows FPC termasuk binari UPX.
- Perilaku baru: Semua dihapus.
- Alasan: Rilis binari belum di-UPX untuk sementara waktu. Ukuran dari executable FPC umumnya tidak signifikan hari ini dibandingkan dengan total ukuran instalasi, dan menggunakan UPX kadang-kadang menyebabkan beberapa gangguan kecil (positif palsu dari pemindai virus, perilaku paging yang lebih buruk oleh OS, tidak kompatibel dengan bagian yang dapat dieksekusi tertentu, ...)
- Ramuan: Unduh dan pasang sendiri UPX dari beranda dan pada umumnya evaluasi ulang kebutuhannya.
Apa yang baru di versi 2.4.4:
- Versi ini berisi sebagian besar perbaikan perpustakaan dari awal Juni 2010 hingga Maret 2011.
- Ada juga beberapa perbaikan kompilator, sebagian besar berkaitan dengan 64-bit.
Apa yang baru di versi 2.4.0:
- Delphi menyukai sumber daya untuk semua platform,
- Perbaikan informasi debug kerdil,
- Beberapa target baru
- 64-bit Mac OS X (x86_64 / ppc64)
- iPhone (Mac OS X / Arm)
- Haiku (dari keluarga BeOS)
- Peningkatan dukungan ARM EABI
- Pengoptimalan program keseluruhan
- Banyak perbaikan bug kompilator dan pembaruan perpustakaan setengah tahun (sejak 2.2.4)
Apa yang baru di versi 2.2.4:
- Semua:
- Paket instalasi-alat eksperimental
- Paket:
- Menambahkan dukungan untuk membaca / menulis TIFF di fcl-image
- Perbaikan dan perbaikan dalam dukungan CHM
- Tetap menautkan paket gtk2 dengan versi gtk di atas 2.13.4
- IDE:
- Dukungan tambahan untuk file bantuan CHM
Komentar tidak ditemukan