Strona 1 z 2

Debian 64 bit i programowanie w Javie i C++

: 22 lutego 2009, 13:06
autor: Bartek_em
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ę:

Kod: Zaznacz cały

javac nazwa_pliku.java
i odpalam:

Kod: Zaznacz cały

java nazwa_pliku
Prosiłbym przy okazji o jakieś rady czy wskazówki jeśli ktoś takie ma co do 64 bitowego Squeeze.

: 25 lutego 2009, 22:17
autor: grum
Plików java nie kompiluje się w kate :)

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 :)

: 26 lutego 2009, 09:27
autor: 0dd
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.

: 26 lutego 2009, 10:24
autor: giaur
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).

: 26 lutego 2009, 11:53
autor: 0dd
giaur pisze:No nie tak do konca
wiem o tym i dlatego napisalem "powinny chodzic"

: 26 lutego 2009, 14:22
autor: Bartek_em
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?

: 27 lutego 2009, 16:40
autor: beel
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.

: 28 lutego 2009, 09:17
autor: snah
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.

Popatrzyłem na pakiety:

Kod: Zaznacz cały

$ 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.
Z tego co widzę wynika, że JDK zależy od JRE.

: 28 lutego 2009, 10:57
autor: beel
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?

: 28 lutego 2009, 12:18
autor: snah
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?
Nie nie, masz rację, paczka JRE w Debianie nie zawiera się w JDK. Chodziło mi o 'paczki' Suna: http://java.sun.com/javase/downloads/index.jsp . Przepraszam, niejasno się wyraziłem.