![]() |
|
Модераторы: Daevaorn |
![]()
|
|
| victoria1 |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 13 Регистрация: 6.9.2012 Репутация: нет Всего: нет |
имеется консольная программа работающая как под win так и под unix.
с чего начать перевод исходного кода с c++ на java? какие инструменты помогут в этом? вариант писать с нуля не пойдет. |
|||
|
||||
| math64 |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2505 Регистрация: 12.4.2007 Репутация: 8 Всего: 72 |
Ну не с нуля - а почти что.
Вствавляешь код из С++ в java и правишь. Есть компилятор из C в .class + аналог libc, написанный на java - но по-моему, писать так это извращение, только если очень нужно. |
|||
|
||||
| victoria1 |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 13 Регистрация: 6.9.2012 Репутация: нет Всего: нет |
а у Вас есть такой опыт ? в программе более 150 исходных файлов .c какой примерный порядок временных затрат на такую задачу? если можно как точно называются компилятор из C в .class + аналог libc ? |
|||
|
||||
| semibug |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 323 Регистрация: 27.3.2009 Репутация: нет Всего: нет |
Синтаксис у обоих языков идентичный, что-то можно поиском/заменой/регулярками автоматизировать, остальное руками.
Другое дело, не сломать бы что нибудь. Перед рефакторингом (наверное этот случай можно назвать рефакторингом?), было бы не плохо обложиться тестами. |
|||
|
||||
| Amp |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 886 Регистрация: 17.2.2009 Репутация: 3 Всего: 17 |
Я из темы кстати так и не понял - в заголовке речь идет о C++, дальше упоминается C. Так что за язык-то?
|
|||
|
||||
| victoria1 |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 13 Регистрация: 6.9.2012 Репутация: нет Всего: нет |
с++ |
|||
|
||||
| victoria1 |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 13 Регистрация: 6.9.2012 Репутация: нет Всего: нет |
исходники с++ и java ведь не совсем структурно совместимы?
в чем это структурная несовместимость состоит? |
|||
|
||||
| borisbn |
|
||||||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 4875 Регистрация: 6.2.2010 Где: Ростов-на-Дону Репутация: 22 Всего: 135 |
Вы это серьёзно (см. ниже) ?
ну... например, такой код
в Си++ означает, что создаются два экземпляра класса A, а затем один присваивается другому. Затем то же самое делается с int'ами в Java создаются две ссылки на класс A, а затем одна становится алиасом другой. С интами же всё идентично как в Си. Это первое, что пришло на ум... там отличий ещё вагон и маленькая тележка. Ну... например, нет "свободных" функций. Если Вы использовали их как предикаты в STL - всё переделывать... -------------------- Женщины отличаются от программистов тем, что у них чары состоят из стрингов |
||||||
|
|||||||
| Amp |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 886 Регистрация: 17.2.2009 Репутация: 3 Всего: 17 |
Переписывать с нуля с оглядкой на C++ код. Адресная арифметика, макросы, шаблоны, boost/stl, беззнаковые типы, множественное наследование - все это не переводится в полуавтоматическом режиме (потому что всего этого нет в Java), а вдумчиво переписывается в соответствии с логикой работы кода и какой-то общей структурой приложения.
|
|||
|
||||
| Dem_max |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1780 Регистрация: 12.4.2007 Репутация: 4 Всего: 39 |
как бы Java эмулитор от Sun под виндой кривенько работает, да еще ситему портит, может как то по другому кроссплатформенность реализовать ?
-------------------- Американские программисты долго не могли понять, почему русские при зависании Windоws всё время повторяют "Твой зайка написал" ("Yоur bunnу wrоte") |
|||
|
||||
| borisbn |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 4875 Регистрация: 6.2.2010 Где: Ростов-на-Дону Репутация: 22 Всего: 135 |
да ладно -------------------- Женщины отличаются от программистов тем, что у них чары состоят из стрингов |
|||
|
||||
| Amp |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 886 Регистрация: 17.2.2009 Репутация: 3 Всего: 17 |
||||
|
||||
| k0rvin |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 442 Регистрация: 24.1.2010 Репутация: 1 Всего: 5 |
Совсем не то же самое. -------------------- “Object-oriented design is the roman numerals of computing.” — Rob Pike All software sucks |
|||
|
||||
| bsa |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 9185 Регистрация: 6.4.2006 Где: Москва, Россия Репутация: 63 Всего: 196 |
С изучения обоих языков
/head/brain и /body/hands значит забудь эту идею, как страшный сон. Займись чем-нибудь другим. |
|||
|
||||
![]()
|
| Правила форума "С++:Общие вопросы" | |
|
|
Добро пожаловать!
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Earnest Daevaorn |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | C/C++: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |