Compiler development articles/id
Bahasa Indonesia ยท English
Saat ini versi FPC yang sedang dikembangkan adalah 2.3.1. Internal kompilator didokumentasikan di halaman FPC internals yang berkembang.
Umum
Hidupkan gaya baru smartlinking (freebsd,linux)
- in i_*.pas menambah seksi tf_smartlink_ke field flags dari rekaman deskripsi platform untuk OS/CPU combo anda (dalam kasus saya i_bsd.pas, rekaman system_i386_freebsd_info)
- in ogelf.pas menggulung ke bawah, dan menambahkan af_smartlink_sections ke field flags pada as_i386_elf32_info
- jalankan "(g)make all OPT='-Aas -k--gc-sections' di tingkat atas untuk membangun menggunakan rutin baru smartlinking.
C++ linking
Lihat http://rvelthuis.bei.t-online.de/articles/articles-cppobjs.htm
Catatan bahwa FPC tidak mempunyai ofset VMT negatif karerna keterbatasan GNU LD.
Fundamen C++ di atas <-> OPas bergantung pada antarmuka COM : (dikutip dari Rudy Velthuis)
"Well, all compilers must be able to create COM interfaces. Since in C++, these are simply pure abstract classes, and Delphi must have the same layout, for many reasons, they are all compatible. In fact, a pure abstract class pointer points to a structure of which the first entry is a VMT. This is also how interfaces are built"
Processor dependent
Lihat juga daftar platform.
Passing Pascal Types to C Routines
i386
PowerPC
Linker Internal
Paket
From the Free Pascal wiki, page "Compiler development articles/id", as it stood on 2007-10-03 after a change by Swen, out of the wiki's dump of 2024-05-26. Copyright stays with the author who wrote it, according to the old wiki's Licensing page. If you have concerns about this material, message the admin.