Witam. Mam takie pytanie. Pewnie dosyć dla niektórych może być dziwne ale ciągle mnie to nurtuje. Obecnie mam od roku zainstalowanego wtedy testinga Lennego 32bit, chyba już się zaktualizował do stable, nie wiem. Teraz myślę by zainstalować Sqeeza ale 64bitowego.Mam takie pytanie. Czy programy, które będę pisał w Javie czy C++ będą normalnie działały na 32 bitowych systemach i w ogóle jakie wtedy JDK mam pobrać?
Jak będę miał JDK dla 64 bitowych to można normalnie tworzyć 32 bitowe? Do kompilacji w javie używam zwykłego edytora jak Kate i w konsoli wpisuję:
Nie jestem ekspertem w dziedzinie Javy ale myślę, że powinieneś binarkę (tzw. ,,byte code'') odpalić na każdej platformie bez żadnych problemów niezależnie czy jest to Linux mac czy Windows i czy jest 32 czy 64 bitowy. Co do kodu źródłowego to jest też przenośny.
Z C/C++ jest już trochę ciężej, bo binarka 64 bitowa nie zadziała na systemie 32 bitowym ale kod źródłowy jest zasadniczo przenośny.
Jak się mylę to mnie poprawcie
Pozdrawiam wszystkich użytkowników Linuksa, a zwłaszcza Debiana i podobnych
Bytecode Javy jest przenosny.
Jesli chodzi o C++ to programy 32 bitowe powinny chodzic na 64 bitowym systemie. Jesli kod pisales poprawnie (nie hardcodowales dlugosci typow) to takze bedzie przenosny.
0dd pisze:Bytecode Javy jest przenosny.
Jesli chodzi o C++ to programy 32 bitowe powinny chodzic na 64 bitowym systemie.
No nie tak do konca - po pierwsze na 64-bitowym systemie musza byc zainstalowane 32-bitowe wersje bibliotek, z ktorych program korzysta, a po drugie trzeba jeszcze o kilku rzeczach wiedziec zeby zapewnic taka przenosnosc.
Ogolnie najbezpieczniej jest jak najwiecej bibliotek linkowac statycznie - bo moze na przyklad sie potem okazac, ze w 64 bitowym systemie nie da sie zainstalowac 32-bitowej wersji danej biblioteki, a wtedy brzydko mowiac d... zbita (zostaje tylko chroot).
Wiem ze kate nie kompiluje, dlatego napisałem że to edytor. Wiadomo że JDK to kompilator. Dziękuję za odpowiedzi.
Czy w takim razie wystarczy jak zainstaluję tylko JDK 64?
Wiadomo, przynajmniej powinno być wiadomo, że kompilator to 'javac'. Pod pojęciem JDK kryje się trochę więcej. JDK oczywiście potrzebne, ale również wirtualna maszyna Javy przydałaby się. Zainstaluj więc także JRE, bo tam ona siedzi.
beel pisze:Pod pojęciem JDK kryje się trochę więcej. JDK oczywiście potrzebne, ale również wirtualna maszyna Javy przydałaby się. Zainstaluj więc także JRE, bo tam ona siedzi.
Z tego co się orientuję, to JDK od Suna zawiera JRE.
$ sudo apt-get remove sun-java6-jre
Reading package lists... Done
Building dependency tree
Reading state information... Done
The following packages will be REMOVED
ia32-sun-java6-bin sun-java6-bin sun-java6-jdk sun-java6-jre
0 upgraded, 0 newly installed, 4 to remove and 151 not upgraded.
After this operation, 236MB disk space will be freed.
Do you want to continue [Y/n]? n
Abort.
Hmm.. zależeć pewnie zależy, zależności. Ale, że jedna paczka zawiera się w drugiej nie powiedziałbym.. Co ty na to, że jeśli chcę usunąć przez apt'a OO.o to wyrzuca mnie również rtorrent, mocp i innych wiele rzeczy?
beel pisze:Hmm.. zależeć pewnie zależy, zależności. Ale, że jedna paczka zawiera się w drugiej nie powiedziałbym.. Co ty na to, że jeśli chcę usunąć przez apt'a OO.o to wyrzuca mnie również rtorrent, mocp i innych wiele rzeczy?