Na beh 32bit aplikacii nepotrebujete 32bitove kniznice. 32bitove aplikacie bezia bez problemov aj zo 64bit kniznicami (aspon zatial som nenarazil na aplikaciu, ktora by s tym mala problem). Vyhodou je dokonca vyssi vykon, pokial sa vykonava kod z kniznice.
Java 5.0 uz ma oficialny release http://java.sun.com/j2se/1.5.0/download.jsp
Je dostupne JDK aj JRE vratane verzii pre AMD64.
Velky omil... 32bit binarka sa nezlinkuje so 64bit kniznicou... uz len preto, ze pointery 32bit binarok maju 32bit a 64bitovych 64bit... ako to xes adresovat??? Na problem si nenarazil, lebo mas aj 32bit kniznice, tzv. multilib... alebo staticke binarky. Takze take spresnenie.
#include <stdio.h>
int main(char * argv, int *argc) {
printf("Hello world!\n");
return(0);
}
sun-amd64 root # vim hello.c
sun-amd64 root # gcc hello.c
sun-amd64 root # ./a.out
Hello world!
sun-amd64 root # ldd ./a.out
libc.so.6 => /lib/libc.so.6 (0x0000003000200000)
/lib64/ld-linux-x86-64.so.2 => /lib64/ld-linux-x86-64.so.2 (0x0000003000000000)
sun-amd64 root # file ./a.out
./a.out: ELF 64-bit LSB executable, AMD x86-64, version 1 (SYSV), for GNU/Linux 2.6.0, dynamically linked (uses shared libs), not stripped
sun-amd64 root # gcc -m32 hello.c
/usr/lib/gcc/x86_64-pc-linux-gnu/3.4.2/../../../../x86_64-pc-linux-gnu/bin/ld: skipping incompatible /usr/lib/gcc/x86_64-pc-linux-gnu/3.4.2/./libgcc.a when searching for -lgcc
/usr/lib/gcc/x86_64-pc-linux-gnu/3.4.2/../../../../x86_64-pc-linux-gnu/bin/ld: skipping incompatible /usr/lib/gcc/x86_64-pc-linux-gnu/3.4.2/libgcc.a when searching for -lgcc
/usr/lib/gcc/x86_64-pc-linux-gnu/3.4.2/../../../../x86_64-pc-linux-gnu/bin/ld: skipping incompatible /usr/lib/gcc/x86_64-pc-linux-gnu/3.4.2/./libgcc.a when searching for -lgcc
/usr/lib/gcc/x86_64-pc-linux-gnu/3.4.2/../../../../x86_64-pc-linux-gnu/bin/ld: skipping incompatible /usr/lib/gcc/x86_64-pc-linux-gnu/3.4.2/libgcc.a when searching for -lgcc
/usr/lib/gcc/x86_64-pc-linux-gnu/3.4.2/../../../../x86_64-pc-linux-gnu/bin/ld: cannot find -lgcc
collect2: ld returned 1 exit status