TwojePC.pl © 2001 - 2024
|
|
A R C H I W A L N A W I A D O M O Ś Ć |
|
|
|
java a C++ , Hawaj 29/11/06 18:10 czy są jakieś programy do zamiany kodu javy do C++ ?
czy czasochłonne i trudne jest zamiana na piechotke kodu z javy na C++?
dzięki wszystkim za odpowiedz- Dopiero teraz przeczytałem, ale... , Barts_706 29/11/06 18:50
...zapytam jutro chłopaków z pracy. Może ktoś coś takiego widział (osobiście wątpię), bo firma akurat sporo działa na styku Javy i C++, więc może..._______________________________
http://jawnesny.pl - Java to uproszczony C++ , exmac 29/11/06 19:00
więc co chcesz konwertować ?
Jeżeli nie odwołujesz się do żadnych zewnętrznych klas, to nie ma problemu. W przeciwnym razie musisz dostarczyć kompilatorowi odpowiednie pliki nagłówkowe, a linkierowi biblioteki do zlinkowania - i to może być problem, a nie przenoszalność kodu.- exmac , MZM 30/11/06 00:06
chyba nie wiesz, o czym mowisz. Jeżeli piszesz o konwersji 1K linii kodu, to może jest to proste i szybkie. Gorzej, jak tego jest więcej (np. 100K albo 1000K). Jest sporo problemów, które są średnio uciążliwe a które trzeba rozwiązać. Poniżej kilka najważniejszych:
1. Garbage collector - chyba największy problem. Leaki pamięci!!!
2. Pliki nagłówkowe - strasznie upierdliwe.
3. Zmiene automatyczne (właściwie ich brak w javie).
4. Kilka różnic w konstrukcjach - np. inicjowanie tablic.
To wszystko powoduje, że konwersja jest dosyć mozolna. Aha, jeszcze jedno - czasy kompilacji w przypadku C++ są znacznie dłuższe, nawet przy dobrej organizacji kodu.MZM - Totalny bezsens , pachura 30/11/06 00:46
Konwersja 100K czy 1000K źródeł Javy na C++ jest totalnie bez sensu. Nie wyobrażam sobie żadnego przypadku kiedy byłoby to rozsądne. Po pierwsze, kod do skonwertowania to na pewno nie czyste algorytmy, ale program często i gęsto korzystający z JDK API - klas typu InputStream, StringBuffer, ResultSet... nie mówiąc już o powszechnie wykorzystywanych frameworkach w stylu Spring czy Hibernate. W C++ analogiczna funkcjonalność jest realizowana w zupełnie inny sposób.
Bez sensu jest również liczyć na niesamowite przyspieszenie przy przejściu z Javy na C++. Kod wygenerowany przez nowoczesne kompilatory Javy nie ustępuje wiele odpowiednikowi w C++ (czyste obliczenia będą miały niemal identyczne czasy wykonania).
Ale:
2. Jeden plik .java zawiera jedną klasę publiczną i ew. kilka klas prywatnych (które i tak nie trafiłyby do pliku .h). Tak więc konstrukcja odpowiadającego mu pliku .h jest banalna.
3. To nie problem że w Javie brak zmiennych automatycznych - przecież konwertujemy z Javy na C++ a nie odwrotnie.
4. Przecież to niewielka różnica. - MZM , exmac 30/11/06 10:13
Ty chyba nie wiesz o czym ja mówię, ale to nie znaczy, że ja tego nie wiem :)
Nie ma w javie żadnej konstrukcji składniowej, której nie byłoby również w C++. Z tego punktu widzenia nie potrzebna jest żadna konwersja.
To czy łatwo, czy trudno przenieść całe programy to zupełnie inna kwestia i w ogóle o niej nie rozmawialiśmy.
Wielkość kodu nie ma absolutnie żadnego znaczenia. Jeśli się ktoś uprze to w 1k linii kodu zmieści wszelkie możliwe konstrukcje składniowe.
|
|
|
|
|
All rights reserved ® Copyright and Design 2001-2024, TwojePC.PL |
|
|
|
|