Difference between revisions of "Compiler development articles/id"
(New page: Saat ini versi FPC yang sedang dikembangkan adalah 2.3.1. Internal kompilator didokumentasikan di halaman FPC internals yang berkembang. = Umum = How to start FPC internals ...) |
|||
Line 34: | Line 34: | ||
= Processor dependent = | = Processor dependent = | ||
− | Lihat juga [[Platform list|platform | + | Lihat juga [[Platform list/id|daftar platform]]. |
[[Passing Pascal Types to C Routines]] | [[Passing Pascal Types to C Routines]] |
Revision as of 20:04, 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 add tf_smartlink_sections to the flags field of the platform description record for your OS/CPU combo (in my case i_bsd.pas, the system_i386_freebsd_info record)
- in ogelf.pas scroll down to nearly the bottom, and add af_smartlink_sections to the flags field of as_i386_elf32_info
- run "(g)make all OPT='-Aas -k--gc-sections' at the toplevel to build using new smartlinking routines.
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