Difference between revisions of "Compiler development articles/id"
Line 14: | Line 14: | ||
== Hidupkan gaya baru smartlinking (freebsd,linux) == | == Hidupkan gaya baru smartlinking (freebsd,linux) == | ||
− | * in i_*.pas | + | * 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 | + | * 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 == | == C++ linking == |
Revision as of 22:52, 27 September 2007
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