Извините, ничего не найдено.

Не расстраивайся! Лучше выпей чайку!
Регистрация
Справка
Календарь

Вернуться   www.boolean.name > Программирование игр для мобильных телефонов > MidletPascal > Разработка MIDlet Pascal

Ответ
 
Опции темы
Старый 02.04.2014, 19:28   #1
DeaDCore
Оператор ЭВМ
 
Аватар для DeaDCore
 
Регистрация: 05.02.2012
Адрес: Беларусь, Могилёв
Сообщений: 42
Написано 7 полезных сообщений
(для 10 пользователей)
mp3CC под Linux

Поправил исходники компилятора версии 3.5, теперь они собираются под линукс. Так же написал простенький bash-скрипт для удобной компиляции. Благодаря этому всему выяснилось, что большенство проблем не из за самого компилятора, а из за mp3ide.exe. Скрипт удачно компилирует модули, которые в mp3ide.exe приводят к конфликтной ситуации(и не только это), да и снимает ограничения накладываемые самой ide, так как весь процесс можно контроллировать самому.
Вложения
Тип файла: zip mp3CC-source.zip (1.29 Мб, 181 просмотров)
(Offline)
 
Ответить с цитированием
Сообщение было полезно следующим пользователям:
Pyth_ON (03.03.2015)
Старый 03.03.2015, 01:31   #2
Pyth_ON
Оператор ЭВМ
 
Регистрация: 07.11.2008
Сообщений: 29
Написано 6 полезных сообщений
(для 7 пользователей)
Ответ: mp3CC под Linux

К сожалению segfault'ит на main.c:358, там вообще что-то невообразимое, копирование строки во ЧТО-ТО:
strcpy(source_file_name, source_file + pos + 1);
Я не совсем понимаю смысл этого кода, но при изменении до:
strcpy(source_file_name, source_file);
компилятор начинает работать, но судя по выводу в консоль не вполне корректно:
$ ./build 
source_file_name "./src/olol.mpsrc"
output_path "./classes"
fname "./src/olol.mpsrc"
Detecting units of './src/olol.mpsrc'...
@7
@14
@30
@53
@61
^0u_b
@67
source_file_name "./src/test.pas"
output_path "./classes"
fname "./src/test.pas"
Detecting units of './src/test.pas'...
@6
@11
@16
^0uni
@19
source_file_name "./src/u_a.pas"
output_path "./classes"
fname "./src/u_a.pas"
Detecting units of './src/u_a.pas'...
@7
@12
@30
@52
@61
^0u_b
@67
source_file_name "./src/u_b.pas"
output_path "./classes"
fname "./src/u_b.pas"
Detecting units of './src/u_b.pas'...
@7
@12
@30
@52
@61
^0u_a
@67
source_file_name "./src/olol.mpsrc"
output_path "./classes"
fname "./src/olol.mpsrc"
Compiling './src/olol.mpsrc'...
@7
@14
@30
@53
@61
@67
@92
@100
source_file_name "./src/test.pas"
output_path "./classes"
fname "./src/test.pas"
Compiling './src/test.pas'...
@6
@11
@16
[Pascal Error] ./src/test.pas(2): E448 failed to load 'uni' library/unit
@19
@25
@33
@34
@37
@41
@45
@46
@55
@56
@68
@71
@73
@74
@83
@89
@90
@94
@95
@100
Но при этом уже не segfault'ит и даже генерирует olol.class размером в 308 байт, а так же olol.bsf, u_a.bsf и u_b.bsf размером в 0 байт.
Кто-нибудь разбирался, в чем дело?

Последний раз редактировалось Pyth_ON, 03.03.2015 в 01:32. Причина: Исправление опечатки
(Offline)
 
Ответить с цитированием
Старый 03.03.2015, 04:32   #3
Helltar
AnyKey`щик
 
Аватар для Helltar
 
Регистрация: 29.12.2013
Сообщений: 13
Написано 8 полезных сообщений
(для 11 пользователей)
Ответ: mp3CC под Linux

https://github.com/Helltar/AMPASIDE :3
(Offline)
 
Ответить с цитированием
Сообщение было полезно следующим пользователям:
Pyth_ON (04.03.2015)
Старый 04.03.2015, 12:32   #4
Pyth_ON
Оператор ЭВМ
 
Регистрация: 07.11.2008
Сообщений: 29
Написано 6 полезных сообщений
(для 7 пользователей)
Ответ: mp3CC под Linux

Helltar, оу, замечательно!
Смотрю, у тебя есть собранный mp3CC, но без исходников, вносил ли ты в них какие-либо изменения?
Закинь на github пожалуйста если что-то правил
(Offline)
 
Ответить с цитированием
Старый 04.03.2015, 13:11   #5
Helltar
AnyKey`щик
 
Аватар для Helltar
 
Регистрация: 29.12.2013
Сообщений: 13
Написано 8 полезных сообщений
(для 11 пользователей)
Ответ: mp3CC под Linux

https://github.com/DeaDDooMER/mp3CC-linux

Последний раз редактировалось Helltar, 07.03.2015 в 10:25.
(Offline)
 
Ответить с цитированием
Сообщение было полезно следующим пользователям:
Pyth_ON (04.03.2015)
Старый 04.03.2015, 14:01   #6
Igor
Мастер
 
Аватар для Igor
 
Регистрация: 03.05.2010
Адрес: Подмосковье
Сообщений: 1,217
Написано 436 полезных сообщений
(для 784 пользователей)
Ответ: mp3CC под Linux

Помню, много лет назад можно было выбрать, какие Real числа использовать - с фиксированной точкой или с плавающей.
Нельзя туда ещё одну реализацию real добавить - обёртку над обычным float или double?
На старенькой нокии вычисления на java с double были раз в 100 быстрее паскалевских real. Если надо, могу эту обёртку написать, только не знаю, как её прикрутить к языку и ide
P.S. хотя.... паскалем ещё кто-то пользуется?

P.P.S. У меня есть идея сделать маленькую реализацию lua - подобного языка, но на java, чтобы при помощи рефлексии можно было обращаться к классам и методам андроида. И ide заточить, чтобы было _удобно_ программировать на телефоне или планшете - например, не писать весь код, а иметь возможность на сенсорном экране расставлять что-нибудь типа UML диаграмм (или как Blueprint unreal engine), а уж что останется - писать ручками, но с нормальным автодополнением, чтобы не тратить время на тыкание по мелким кнопкам и исправление опечаток. Потенциальных конкурентов не нашёл.
Но один я не потяну)
__________________
О¯О ¡¡¡ʁɔvʎнdǝʚǝdǝu dиW
(Offline)
 
Ответить с цитированием
Старый 04.03.2015, 14:17   #7
Helltar
AnyKey`щик
 
Аватар для Helltar
 
Регистрация: 29.12.2013
Сообщений: 13
Написано 8 полезных сообщений
(для 11 пользователей)
Ответ: mp3CC под Linux

P.S. хотя.... паскалем ещё кто-то пользуется?
На MIDletPascal'е под старуху JavaME единицы людей еще пишут, но я там сборку под Android прикрутил, правда пока в зачаточном состоянии.
(Offline)
 
Ответить с цитированием
Старый 04.03.2015, 20:02   #8
Pyth_ON
Оператор ЭВМ
 
Регистрация: 07.11.2008
Сообщений: 29
Написано 6 полезных сообщений
(для 7 пользователей)
Сообщение Ответ: mp3CC под Linux

Сообщение от Helltar Посмотреть сообщение
Вот это - единственный источник исходного кода, который нормально работает без изменений в main.c:358.
Хотя если произвести вышеописанные мной изменения в коде из первого поста этой темы, то можно получить такую же работоспособную версию.
Но в обоих случаях нужно закомментировать
uses uni;
в test.pas для успешной сборки тестового мидлета.
Однако меня по-прежнему смущают символы @ и следующие за ними цифры в консольном выводе mp3CC, похоже придется вникнуть в код глубже.
(Offline)
 
Ответить с цитированием
Старый 06.03.2015, 18:20   #9
Helltar
AnyKey`щик
 
Аватар для Helltar
 
Регистрация: 29.12.2013
Сообщений: 13
Написано 8 полезных сообщений
(для 11 пользователей)
Ответ: mp3CC под Linux

Однако меня по-прежнему смущают символы @ и следующие за ними цифры в консольном выводе mp3CC, похоже придется вникнуть в код глубже.
Ну так это compile_progress, я его тупо удаляю с вывода.
(Offline)
 
Ответить с цитированием
Сообщение было полезно следующим пользователям:
Pyth_ON (08.03.2015)
Старый 09.03.2015, 00:00   #10
Pyth_ON
Оператор ЭВМ
 
Регистрация: 07.11.2008
Сообщений: 29
Написано 6 полезных сообщений
(для 7 пользователей)
Ответ: mp3CC под Linux

Helltar, ясно, я подумал что это какой-то прогресс, но выглядит он как некорректная работа.
Да и зачем он вообще нужен, едва ли найдется исходник на MP который бы собирался дольше нескольких секунд.
Только сообщения об ошибках на мой взгляд стоит выводить, а вообще это workaround, нужно добавить в компилятор quiet-режим без вывода (или опционально вывод только ошибок), а лишь с кодами выхода и удалить нафиг этот прогресс.
(Offline)
 
Ответить с цитированием
Старый 24.03.2015, 20:05   #11
DeaDCore
Оператор ЭВМ
 
Аватар для DeaDCore
 
Регистрация: 05.02.2012
Адрес: Беларусь, Могилёв
Сообщений: 42
Написано 7 полезных сообщений
(для 10 пользователей)
Ответ: mp3CC под Linux

Pyth_ON, либо вы писали слишком мало кода на мп, либо не использовали структуры, либо имеете слишком мощный процессор.
На одноядерном атлоне64 было время, когда код общим размером где-то в десяток тысяч строк собирался около 10 минут.
(Offline)
 
Ответить с цитированием
Старый 01.06.2015, 03:17   #12
AligatorBkmz
AnyKey`щик
 
Регистрация: 27.03.2015
Сообщений: 1
Написано 0 полезных сообщений
(для 0 пользователей)
Ответ: mp3CC под Linux

Здравствуйте уважаемые форумчане! Хочу поблагодарить всех кто принимает участие в разработке MidletPascal, очень часто выручает меня этот инструмент. В связи с моим переходом на Linux я переписал IDE. Решил выложить в сеть, может кому понадобится https://cloud.mail.ru/public/CiAp/LPq9SXjvi
Будет время - допишу если что...
(Offline)
 
Ответить с цитированием
Старый 02.06.2015, 20:13   #13
Helltar
AnyKey`щик
 
Аватар для Helltar
 
Регистрация: 29.12.2013
Сообщений: 13
Написано 8 полезных сообщений
(для 11 пользователей)
Ответ: mp3CC под Linux

AligatorBkmz, http://vk.com/ampaside?w=wall-82903523_133
(Offline)
 
Ответить с цитированием
Сообщение было полезно следующим пользователям:
AligatorBkmz (24.02.2016)
Ответ


Опции темы

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


Часовой пояс GMT +1, время: 21:26.


vBulletin® Version 3.6.5.
Copyright ©2000 - 2017, Jelsoft Enterprises Ltd.
Перевод: zCarot
Style crйe par Allan - vBulletin-Ressources.com