[ nekicneko99 @ 27.01.2015. 20:12 ] @
Treba da pisem aplikaciju koja radi i na win-u i na linux-u. A posto treba da radim sa portovima, taj deo bih odradio u C.
Interesuje me, ako ubacim C kod u Java aplikaciju, da li ce ona i dalje biti multiplatformska i da li cu moci tako da kontrolisem portove.
U C-u radim duze vreme, pa bih zbog toga u njemu radio osnovni kod za portove.
[ Texas Instruments @ 27.01.2015. 20:27 ] @
Kakve portove? Paralelni, serijski, USB? Ili misliš na socket-e? Ako je ovo poslednje, nema razloga da to pišeš u C-u pošto za to imaš podršku u Javi.
S' druge strane, bilo šta što pišeš u C-u povezaćeš sa Javom preko JNI-ja (Java Native Interface). To da li će biti portabilno zavisi od tog C-ovskog dela. Možeš sve te stvari u C-u da napraviš kao deljenu biblioteku (.dll/.so fajl) pa da dinamički učitavaš u Java aplikaciju. Pošto ćeš imati dve verzije deljenih bibloteka, jednu za windows i drugu za linux, nećeš imati problema sa portabilnošću.
[ nekicneko99 @ 27.01.2015. 21:39 ] @
Hvala, mislio sam na Serijski i Paralelni, a mozda i USB. Da li ja mogu sa javom da proverim koji je sistem i da ucitam potrebnu biblioteku ili to radi automacki?
[ Texas Instruments @ 27.01.2015. 22:04 ] @
Možeš naravno sa
Code:
System.getProperty("os.name");
da dobiješ String objekat naziva OS-a na kojoj je pokrenut JVM, pa na osnovu toga da sa
Code:
System.loadLibrary(String libName)
učitaš odgovarajući lib za tu platformu.
[ abyss @ 28.01.2015. 08:04 ] @
Ako ti treba za serijski onda iskoristi ovo https://code.google.com/p/java-simple-serial-connector/
[ nekicneko99 @ 28.01.2015. 18:33 ] @
Hvala puno svima.
Navjerovatnije cu pisati svoj api, ali pogledacu i jssc