Me pitan los oídos. ¿Alguien me ha mentado?
Lo cierto es que no tengo muy claro cómo generar ejecutables de 64 bit. He revisado las opciones de fpc y tenemos dos:
Código:
-A<x> Output format:
-Adefault Use default assembler
-Aas Assemble using GNU AS
-Anasmcoff COFF (Go32v2) file using Nasm
-Anasmelf ELF32 (Linux) file using Nasm
-Anasmwin32Win32 object file using Nasm
-AnasmwdosxWin32/WDOSX object file using Nasm
-Awasm Obj file using Wasm (Watcom)
-Anasmobj Obj file using Nasm
-Amasm Obj file using Masm (Microsoft)
-Atasm Obj file using Tasm (Borland)
-Aelf ELF (Linux) using internal writer
-Acoff COFF (Go32v2) using internal writer
-Apecoff PE-COFF (Win32) using internal writer
-T<x> Target operating system:
-Temx OS/2 via EMX (including EMX/RSX extender)
-Tfreebsd FreeBSD
-Tgo32v2 Version 2 of DJ Delorie DOS extender
-Tlinux Linux
-Tnetbsd NetBSD
-Tnetware Novell Netware Module (clib)
-Tnetwlibc Novell Netware Module (libc)
-Topenbsd OpenBSD
-Tos2 OS/2 / eComStation
-Tsunos SunOS/Solaris
-Tsymbian Symbian OS
-Twatcom Watcom compatible DOS extender
-Twdosx WDOSX DOS extender
-Twin32 Windows 32 Bit
-Twince Windows CE
También tenemos alguna más adicional, como -C<x>, que permiten apurar algo más los tamaños de algunos datos, cómo manejar las pilas, los montones, etc. Sin embargo no veo nada que haga referencia a procesadores de 64 bit.
De todas formas, el programa "fpc" es un cargador: el verdadero compilador es otro, en mi caso llamado ppc386. Supongo que para generar ejecutables de 64 bit habrá que utilizar otro compilador distinto. No creo que haya problemas en instalar varios compiladores, cada uno para un procesador diferente, ya que cada uno busca las bibliotecas en diferentes directorios. Por ejemplo, en mi Linux los busca en "/usr/lib/fpc/2.2.4/units/i386-linux", mientras que un compilador para mac clásico los buscaría en "/usr/lib/fpc/2.2.4/units/ppc-mac", para windows de 64 bit en "/usr/lib/fpc/2.2.4/units/i64-windows", etc. En este aspecto FPC es más "inteligente" que GCC.
