QNX.ORG.RU

Разработка => Языки и алгоритмы => Тема начата: myst от Июня 27, 2002, 08:15:00 am



Название: ADA и QNX
Отправлено: myst от Июня 27, 2002, 08:15:00 am
Люди, кому интересен язык ADA под QNX!
Я собрал GCC 3.1 с поддержкой ADA. "Hello,world!" и небольшая многозадачная программа оттранслировались и даже работают.
Кого это заитересовало. Отзавитесь.
[addsig]


Название: ADA и QNX
Отправлено: Evgeniy от Июня 27, 2002, 12:31:00 am

myst пишет:
Люди, кому интересен язык ADA под QNX!
Я собрал GCC 3.1 с поддержкой ADA. "Hello,world!" и небольшая многозадачная программа оттранслировались и даже работают.
Кого это заитересовало. Отзавитесь.



Очень интересно! Остонадоел мне этот псевдоассемблер по имени С! Хочу нормальный язык!

А если серьезно, то:
А как бы пощупать?
Сколько кушает?
Каких размеров получилась "Hello!"?


Название: ADA и QNX
Отправлено: wind_alex от Июня 27, 2002, 12:44:00 pm

myst пишет:
... Кого это заитересовало. Отзавитесь.


Очень интересно. Действительно сколько весит и как пощупать?
Динамическая линковка поддерживается?


Название: ADA и QNX
Отправлено: olej от Июня 27, 2002, 03:34:00 pm

myst пишет:
Люди, кому интересен язык ADA под QNX!
Я собрал GCC 3.1 с поддержкой ADA. "Hello,world!" и небольшая многозадачная программа оттранслировались и даже работают.
Кого это заитересовало. Отзавитесь.

ADA - это тот релиз, который растёт из проекта GNAT? ADA-95?
Очень интересно.
Нельзя ли это куда на ftp выложить?
А как существующий GCC подменить на 3.1?
Кстати, с этой ADA кажется работает IDE CodeForge.


Название: ADA и QNX
Отправлено: dmi от Июня 28, 2002, 04:31:00 am

myst пишет:
Люди, кому интересен язык ADA под QNX!
Я собрал GCC 3.1 с поддержкой ADA. "Hello,world!" и небольшая многозадачная программа оттранслировались и даже работают.
Кого это заитересовало. Отзавитесь.



Интересует не столько ADA, сколько GCC 3.1. Как удалось его собрать ? Насколько он совместим с Libc ? Как насчет тредов ? Использовался ли при сборке код от QSSL ? (developers.qnx.com/.....)
Если не сложно, перешлите мне ( dmi@webis.ru ), я могу выложить на ftp сервере.


Название: ADA и QNX
Отправлено: myst от Июля 02, 2002, 03:22:00 am
Приятно осозновать, что идея реализации ADA под QNX интересна не только мне!

Так начну по порядку. Размер "Hello, world!" меня немного удручил, хотя он
сопоставим с тем, что у меня получался в GNAT 3.13p под Windows около 190К.
Размер многозадачной программы (она тривиальна: основная задача запрашивает
у вспомогательной значение счетчика каждые n секунд и выводит его на экран,
вспомогательная же инкрементирует его пока нет запросов) около 280K.
Расходы памяти во время выполнения не проверял. На счет динамической
линковки к сожалению тоже еще не думал, но обязательно проверю. Как пишут
на gcc.gnu.org реализация ADA в GCC 3.1 основана GNAT, правда определенные
изменения в некоторых пакетах исходников я заметил, пока мучился со сборкой.
Естественно это ADA-95. Совместимость GCC 3.1 с libc специально не проверял, но
при сборке самого компилятора она по моему использовалась, а он пока
работает. На счет потоков могу сказать, что задачи ADA реализованы через
потоки. Первые пробы адской многозадачности показывают, что она работает
(правда есть определенные подозрения, но ведь это даже наверное не альфа
версия, посмотрим). Так, что думаю в C программах потоки тоже должны
работать.


Для dmi:
Все файлы (измененные исходники и скрипты плюс бинарники gnat1, gnatbind,
gcc) потянут примерно на 4М. Я че-то не знаю уберутся ли на мыло
(у меня, например, ящик 2М). Если да, то нет проблем.


P.S.
Сборка компилера (его еще надо вылизать) - это первый шаг, дальше надо
будет затачивать программное окружение под QNX. Разбираться с размером
получаемых программ (я неверю, что мы обречены на такие лошадистические
"Hello, world!" . Я был бы рад, если кто-нибудь подключится к проекту.
Или хотя бы помог консультациями (я, собственно, начинающий как в ADA, так и
в QNX).
[addsig]


Название: ADA и QNX
Отправлено: mrbool от Июля 02, 2002, 03:36:00 am

myst пишет:
Приятно осозновать, что идея реализации ADA под QNX интересна не только мне!



Мужик ! Ты даже не подозреваешь сколько времени я ждал когда
GNAT на QNX появится !

Короче, дуй на ada_ru-owner@yahoogroups.com, там весь адский
народ собрался, вкупе с Рыбиным из GNAT.

P.S: накатай мыльцо на mr.bool@rambler.ru, дам дальнейшие
координаты. Кстати наверно не вредно будет на :
http://faqs.org.ru/progr/other_l/adafaq.htm взглянуть
(правда давно уже не обновлялся, так как некоторые товарищи в java погрязли
[addsig]


Название: ADA и QNX
Отправлено: dmi от Июля 02, 2002, 04:27:00 am

myst пишет:
Приятно осозновать, что идея реализации ADA под QNX интересна не только мне!

Никогда не интересовался ADA, но не раз хотел Вот отличный повод


Так начну по порядку. Размер "Hello, world!" меня немного удручил, хотя он
сопоставим с тем, что у меня получался в GNAT 3.13p под Windows около 190К.
Размер многозадачной программы (она тривиальна: основная задача запрашивает
у вспомогательной значение счетчика каждые n секунд и выводит его на экран,
вспомогательная же инкрементирует его пока нет запросов) около 280K.

а если попробовать сделать
$ strip a.out  


Расходы памяти во время выполнения не проверял. На счет динамической
линковки к сожалению тоже еще не думал, но обязательно проверю. Как пишут
на gcc.gnu.org реализация ADA в GCC 3.1 основана GNAT, правда определенные
изменения в некоторых пакетах исходников я заметил, пока мучился со сборкой.
Естественно это ADA-95. Совместимость GCC 3.1 с libc специально не проверял, но
при сборке самого компилятора она по моему использовалась, а он пока
работает. На счет потоков могу сказать, что задачи ADA реализованы через
потоки. Первые пробы адской многозадачности показывают, что она работает
(правда есть определенные подозрения, но ведь это даже наверное не альфа
версия, посмотрим). Так, что думаю в C программах потоки тоже должны
работать.

Потоки в QNX стандартные (POSIX threads), c этим больших проблем быть не должно (за исключением SMP систем и некоторых небезопасных внутрипотоковых функций )


Для dmi:
Все файлы (измененные исходники и скрипты плюс бинарники gnat1, gnatbind,
gcc) потянут примерно на 4М. Я че-то не знаю уберутся ли на мыло
(у меня, например, ящик 2М). Если да, то нет проблем.

Я думаю, проблем с этим не будет. Адрес dmi@webis.ru
Если можно - с небольшими комментариями


P.S.
Сборка компилера (его еще надо вылизать) - это первый шаг, дальше надо
будет затачивать программное окружение под QNX. Разбираться с размером
получаемых программ (я неверю, что мы обречены на такие лошадистические
"Hello, world!" . Я был бы рад, если кто-нибудь подключится к проекту.
Или хотя бы помог консультациями (я, собственно, начинающий как в ADA, так и
в QNX).

К проекту с удовольствием подключусь, но не могу обещать, что смогу уделять ему много времени.


Название: ADA и QNX
Отправлено: olej от Июля 02, 2002, 04:23:00 pm

myst пишет:
Для dmi:
Все файлы (измененные исходники и скрипты плюс бинарники gnat1, gnatbind,
gcc) потянут примерно на 4М. Я че-то не знаю уберутся ли на мыло
(у меня, например, ящик 2М). Если да, то нет проблем.

P.S.
Сборка компилера (его еще надо вылизать) - это первый шаг, дальше надо
будет затачивать программное окружение под QNX. Разбираться с размером
получаемых программ (я неверю, что мы обречены на такие лошадистические
"Hello, world!" . Я был бы рад, если кто-нибудь подключится к проекту.
Или хотя бы помог консультациями (я, собственно, начинающий как в ADA, так и
в QNX).

Не для dmi - а для всех, и не на мыло - а в ftp (как в том анекдоте), dmi - объясни, пожалуйста, как на qnx.org.ru создаются новые проекты .

Предлагаю открыть такой проект (там в форуме, по-моему старом, об этом столько говорили...). Я первый приму в нём участие (т.е. циклически, по мере загруженности, и т.д. - но это у всех будет так, проект то, видать будет "длинный" ).


Название: ADA и QNX
Отправлено: dmi от Июля 02, 2002, 04:41:00 pm

Olej пишет:
Не для dmi - а для всех, и не на мыло - а в ftp (как в том анекдоте), dmi - объясни, пожалуйста, как на qnx.org.ru создаются новые проекты .


Именно для dmi и именно на мыло
1) проект создадим как только убедимся, что это дело работоспособно
2) на фтп я его сам положу, в /pub


Название: ADA и QNX
Отправлено: mrbool от Июля 03, 2002, 12:19:00 am

myst пишет:
Так начну по порядку. Размер "Hello, world!" меня немного удручил, хотя он сопоставим с тем, что у меня получался в GNAT 3.13p под Windows около 190К.


Следующая программа  :

-- hello.adb
With Ada.Text_IO; use Ada.Text_IO;
procedure Hello is
begin
    Put_Line("Hello World !");
end;
-- hello.adb

Откомпилированная на SuSE Linux 8.0 с помощью GNAT 3.13p

со следующими ключами :

gnatmake -O3 hello.adb -gnatpoPf -mpentium -march=pentium -fexpensive-optimizations -malign-loops=2 -malign-jumps=2 -fomit-frame-pointer

Имеет размер 20 kb. Под виндами можно попробовать
также в конце добавить -largs -s
[addsig]


Название: ADA и QNX
Отправлено: myst от Июля 03, 2002, 02:21:00 am
Шлю в данный момент dmi архив с файлами.
Размер бинарников оказывается можно существенно уменьшить командой objcopy --strip-all file_name. "Hello, world!" похудела со 190 до ~43 кило.
[addsig]


Название: ADA и QNX
Отправлено: myst от Июля 03, 2002, 03:00:00 am
Для dmi:
Че-то у меня на мыло не сливается. Под конец вампир пишет, что типа сервер сообщил об ошибке и все обламывается. Обидно, что почти все залилось. Два раза подрят пробовал. Два раза засада.
[addsig]


Название: ADA и QNX
Отправлено: dmi от Июля 03, 2002, 04:22:00 pm
В gcc 2.9x была ошибка в первых бета версиях  qnx 6.0 - отладочная информация росла как снежный ком, так например QT после сборки весил около 80 мегабайт. После strip оставалось тоже довольно много мусора.
Возможно эта ошибка не исправлена в основном коде gcc ? Попробую посмотреть изменения. результаты сообщу позже.

myst: выслал почтой логин на ftp

[ Это Сообщение было отредактировано: dmi в 2002-07-03 13:23 ]


Название: ADA и QNX
Отправлено: myst от Июля 03, 2002, 11:57:00 pm
Делая платформно-зависимые версии пакетов компилятора (собственно, там делать
было почти нечего), я брал за основу posix-версии. А может их лучше полностью
переписать, используя по возможности только вызовы микроядра QNX? Пакетов,
которые я корректировал всего 10, хотя может в этом случае нужно будет
и другие переколбасить. В любом случае их не должно быть более 20.
Но будет ли это значительно эффективнее? Стоит ли овчинка выделки?!
[addsig]


Название: ADA и QNX
Отправлено: myst от Июля 04, 2002, 12:00:00 am
Люди, кто шарит в Аде подскажите!
Переписывая сишную структуру
struct _pulse {
   _Uint16t               type;
   _Uint16t               subtype;
   _Int8t               code;
   _Uint8t               zero[3];
   union sigval            value;
   _Int32t               scoid;
};
меня смутило поле zero. Судя по названию оно всегда равно 0.
Поэтому мне его захотелось скрыть:
package P is
  type Pulse is
   record
      Pulse_Type    : unsigned_short;
      Pulse_Subtype : unsigned_short;
      Code          : plain_char;
      Value         : Sigval;
      SCO_ID        : int;
   end record;
private
  for Pulse use
     record
        Pulse_Type    at 0 range  0 .. 15;
        Pulse_SubType at 0 range 16 .. 31;
        Code          at 0 range 32 .. 39;
        Value         at 0 range 64 .. 64 + Sigval'Size - 1;
        SCO_ID        at 0 range 64 + Sigval'Size .. 64 + Sigval'Size + int'Size -1;
      end record;
  pragma Convention (C, Pulse);
end P;

Правильно ли это? Будет ли двоичная совместимость с сишной структурой?
Если нет, то как правильно (если это вообще возможно?);) Да, и как
указать, чтобы неиспользуемые биты всегда были равны 0?
[addsig]


Название: ADA и QNX
Отправлено: dmi от Июля 04, 2002, 12:09:00 am

myst пишет:
Делая платформно-зависимые версии пакетов компилятора (собственно, там делать
было почти нечего), я брал за основу posix-версии. А может их лучше полностью
переписать, используя по возможности только вызовы микроядра QNX? Пакетов,
которые я корректировал всего 10, хотя может в этом случае нужно будет
и другие переколбасить. В любом случае их не должно быть более 20.
Но будет ли это значительно эффективнее? Стоит ли овчинка выделки?!


Лучше при этом опираться на перенесенный QSSL libc


Название: ADA и QNX
Отправлено: myst от Июля 04, 2002, 01:52:00 am


myst: выслал почтой логин на ftp

[ Это Сообщение было отредактировано: dmi в 2002-07-03 13:23 ]


Архив слил. Имя файла: gcc-3.1-qnx-files.rar
[addsig]


Название: ADA и QNX
Отправлено: dmi от Июля 04, 2002, 02:26:00 am

myst пишет:
Архив слил. Имя файла: gcc-3.1-qnx-files.rar


Спасибо. Завтра ознакомлюсь и вышлю комментарии почтой.


Название: ADA и QNX
Отправлено: olej от Июля 04, 2002, 03:54:00 pm

wind_alex пишет:
Очень интересно. Действительно сколько весит и как пощупать?
Динамическая линковка поддерживается?

А интересно, пока пусть очень предварительно: а есть ли возможность как-то определить (pragma какие?) соглашения об external именах с тем, чтоб определить совместимость и линковку с библиотеками C/C++, а конкретно - перспективы подлинковки библиотек Photon?


Название: ADA и QNX
Отправлено: dmi от Июля 04, 2002, 04:12:00 pm

dmi пишет:

myst пишет:
Архив слил. Имя файла: gcc-3.1-qnx-files.rar


Спасибо. Завтра ознакомлюсь и вышлю комментарии почтой.



Однако вышла неприятность: у меня сгорел диск, на котором был установлен QNX. Временно доступа к QNX нет.
Переложил файл в публичный доступ( он запакован WinRar3, все другие версии для распаковки не подойдут !):
ftp://ftp.qnxclub.net/pub/projects/myst/testing/gcc-3.1-qnx-files.rar


Название: ADA и QNX
Отправлено: olej от Июля 04, 2002, 09:23:00 pm

dmi пишет:
Переложил файл в публичный доступ( он запакован WinRar3, все другие версии для распаковки не подойдут !):
ftp://ftp.qnxclub.net/pub/projects/myst/testing/gcc-3.1-qnx-files.rar

Взял посмотреть.

2myst
Большая просьба - не надо так впредь делать - архивить всякой экзотикой (дрянь это дело всё, что с rar связано) - да ещё такой экзотикой, которая в qnx-unix не практикуется. Это в WIN разархивирую, все аттрибуты файлов поплывут, хорошо здесь только src-проект (посмотрел), а если .o, .co ... , а там WIN (он умный!) регистр букв в именах поменяет...



Название: ADA и QNX
Отправлено: myst от Июля 05, 2002, 02:18:00 am

2myst
Большая просьба - не надо так впредь делать - архивить всякой экзотикой (дрянь это дело всё, что с rar связано) - да ещё такой экзотикой, которая в qnx-unix не практикуется. Это в WIN разархивирую, все аттрибуты файлов поплывут, хорошо здесь только src-проект (посмотрел), а если .o, .co ... , а там WIN (он умный!) регистр букв в именах поменяет...


Виноват. Не подумал, что кому-нибудь под QNX распаковывать
придется. А про имена файлов и аттрибуты тем более не подумал.
Просто WinRAR 3.0 сжал на 400 кило лучше bz2. Вот меня и подмыло.
Исправлюсь
[addsig]


Название: ADA и QNX
Отправлено: myst от Июля 05, 2002, 03:45:00 am
В аде можно оформлять обработчики прерываний. Однако в
posix-версии пакетов реализации этой фишки предусмотрена
только обработка сигналов. Вот бы прикрутить туда обработку
аппаратных прерываний! Только возникает проблема с Interrupt_ID,
ведь и аппаратные прерывания и сигналы нумеруются с 0.
[addsig]


Название: ADA и QNX
Отправлено: myst от Июля 05, 2002, 04:14:00 am

Olej пишет:
А интересно, пока пусть очень предварительно: а есть ли возможность как-то определить (pragma какие?) соглашения об external именах с тем, чтоб определить совместимость и линковку с библиотеками C/C++, а конкретно - перспективы подлинковки библиотек Photon?

Я знаю только три директивы по этому поводу:
(скпопировал из RM95)

pragma Convention([Convention =>] convention_identifier, [Entity =>] local_name);

pragma Import([Convention =>] convention_identifier, [Entity =>] local_name
      [,[External_Name =>] string_expression] [, [Link_Name =>] string_expression]);


pragma Export([Convention =>] convention_identifier, [Entity =>] local_name
      [,[External_Name =>] string_expression] [, [Link_Name =>] string_expression]);

Convention - имя языка, чьи соглашения будут использоваться;
Entity - имя объекта, для которого применяется директива;

External_Name -  a string value for the name used by a foreign
  language program either for an entity that an Ada program imports, or for referring
  to an entity that an Ada program exports.

Link_Name - a string value for the name of an exported or imported entity, based on
  the conventions of the foreign language’s compiler in interfacing with the
  system’s linker tool.


Еще есть директива для указания опций линкера:
pragma Linker_Options(string_expression);
[addsig]


Название: ADA и QNX
Отправлено: lestat от Июля 05, 2002, 12:07:00 pm

Виноват. Не подумал, что кому-нибудь под QNX распаковывать
придется. А про имена файлов и аттрибуты тем более не подумал.
Просто WinRAR 3.0 сжал на 400 кило лучше bz2. Вот меня и подмыло.
Исправлюсь

Можешь кстати сделать ни вам ни нам - запаковать tar'ом а потом его rar'ом - результат еще лучше будет


Название: ADA и QNX
Отправлено: cs994 от Июля 05, 2002, 01:11:00 pm
Dear sirs!

В недрах FIDO образовалось то, что мы гордо называем Ru.Ada.Community. !) И мы сделали сборник материалов по Ada'е на CD. В него входят: документация, русский FAQ, библиотеки и, естественно, компиляторы для разных платформ. Обновлением и рассылкой этого диска ( по себестоимости ), который мы называем "сборник Васильченко" по имени составителя или Ru.Ada.Community CD ROM, занимаюсь я ( Кирилл Сазонов, cs@mail.spbnit.ru ). Естественно, я хотел бы включить версию для QNX в этот сборник.


myst пишет:

2myst
Большая просьба - не надо так впредь делать - архивить всякой экзотикой (дрянь это дело всё, что с rar связано) - да ещё такой экзотикой, которая в qnx-unix не практикуется. Это в WIN разархивирую, все аттрибуты файлов поплывут, хорошо здесь только src-проект (посмотрел), а если .o, .co ... , а там WIN (он умный!) регистр букв в именах поменяет...


Виноват. Не подумал, что кому-нибудь под QNX распаковывать
придется. А про имена файлов и аттрибуты тем более не подумал.
Просто WinRAR 3.0 сжал на 400 кило лучше bz2. Вот меня и подмыло.
Исправлюсь



В свете вышесказанного, мне хотелось бы узнать:

1. Можно ли включить портированную версию в сборник?

2. Если можно, то как добраться до неё в виде UNIX-style архива?


Название: ADA и QNX
Отправлено: olej от Июля 05, 2002, 02:11:00 pm

myst пишет:
pragma Import([Convention =>] convention_identifier, [Entity =>] local_name [,[External_Name =>] string_expression] [, [Link_Name =>] string_expression]);

pragma Export([Convention =>] convention_identifier, [Entity =>] local_name [,[External_Name =>] string_expression] [, [Link_Name =>] string_expression]);

Еще есть директива для указания опций линкера:
pragma Linker_Options(string_expression);

Вот, что то, может и "оно". А идея вот в чём - QNX использует свою собственную графическую среду, всё, что традиционный X в QNX (все видели) настолько уступает, что ... неинтересно это всё. Если не удастся импортировать вызовы библлиотек Photon (не взирая на их недостатки: нереентерабельность ... и др., а может это - и не недостатки, а "особенности") в портированный GNAT - то это сразу снизит ценность такого проекта ... на 50% или более.

А "зацепиться" за ADA - заманчиво, это - действительно полновесный язык real-time с требуемой real-time надёжностью (чего никак нельзя сказать об C/C++). С ADA я сильно не копался руками, но детально прорабатывал (и что-то пробовал) в достаточно продолжительные годы работы с Виртовскими развитиями Pascal - Modula-2 & Oberon. Так что вспомнить это всё будет не так и сложно.

В этом контексте всем, кто хотел бы покопаться, классно бы полистать Р.Янг "Языки прграммирования реального времени" (я уже её здесь как-то в форуме называл) - жалко старая она, только на развалах букинистов можно найти, наверное, если не переиздавали, и у меня нет чтоб ссылку точно дать - "угнали" (что само по себе - "знак качества" ).


cs994 пишет:
В недрах FIDO образовалось то, что мы гордо называем Ru.Ada.Community. !) И мы сделали сборник материалов по Ada'е на CD. В него входят: документация, русский FAQ, библиотеки и, естественно, компиляторы для разных платформ. Обновлением и рассылкой этого диска ( по себестоимости ), который мы называем "сборник Васильченко" по имени составителя или Ru.Ada.

А имеют эти ... недра - URL адрес?
И нельзя ли коротко но подробнее?
А вот эта "себестоимость" - это сколько?
И можно ли подробнее состав (перечень) того, что уже накоплено (это - чтоб не утомлять публику - можно мне мылом).

По поводу намерения включить GNAT порт QNX: я не видел бы ничего дурного в таком намерении, и даже наоборот, но только - это всё настолько ещё сырое, даже не "сырое" - а только намерения пока, а ещё требуется выверка ... и т.д. Не горячитесь чрезмерно - спешка в этих делах (доведенная до уровня авантюризма) может обернутся только профанацией классного намерения ("...благими намерениями дорога в Ад вымощена...", А.Данте).





Название: ADA и QNX
Отправлено: cs994 от Июля 05, 2002, 03:38:00 pm
Dear sirs!


cs994 пишет:
В недрах FIDO образовалось то, что мы гордо называем Ru.Ada.Community. !) И мы сделали сборник материалов по Ada'е на CD. В него входят: документация, русский FAQ, библиотеки и, естественно, компиляторы для разных платформ. Обновлением и рассылкой этого диска ( по себестоимости ), который мы называем "сборник Васильченко" по имени составителя или Ru.Ada.

А имеют эти ... недра <IMG SRC="/ru/forum/images/smiles/icon_wink.gif"> - URL адрес?

FIDO'шная конференция SU.PASCAL.MODULA.ADA, а кроме того сейчас идёт обсуждение перевода курса лекций по Ada'е на YAHOO по адресу ada_ru@yahoogroups.com ( если не ошибаюсь, можно подписаться по адресу ada_ru-subscribe@yahoogroups.com ).

И нельзя ли коротко но подробнее?

Что именно?

А вот эта "себестоимость" - это сколько?

Цена болванки ( 15..20 руб. ) + стоимость пересылки ( ~20 руб. по России )

И можно ли подробнее состав (перечень) того, что уже накоплено (это - чтоб не утомлять публику - можно мне мылом).

По поводу намерения включить GNAT порт QNX: я не видел бы ничего дурного в таком намерении, и даже наоборот, но только - это всё настолько ещё сырое, даже не "сырое" - а только намерения пока, а ещё требуется выверка ... и т.д. Не горячитесь чрезмерно - спешка в этих делах (доведенная до уровня авантюризма) может обернутся только профанацией классного намерения

В любом случае, надо потрогать. Как раз и повод наконец-то поставить QNX будет -- давно хочу, а руки не доходят.

("...благими намерениями дорога в Ад вымощена...", А.Данте).

Получился роскошный каламбур, особенно учитывая, что речь идёт о языке Ada.
!)

[/quote]
[addsig]


Название: ADA и QNX
Отправлено: olej от Июля 05, 2002, 04:00:00 pm

cs994 пишет:
Цена болванки ( 15..20 руб. ) + стоимость пересылки ( ~20 руб. по России )

В Харьков вышлите? (Тут проблем нет - было бы желание: мы с dmi регулярно пересылаемся, да и с www.books.ru мне Кёртена книгу прислали - это, кстати к вопросу "где взять", кто-то задавал).

P.S.Цитаты в этом форуме можно (и лучше) начинать с "[" quote "]", а завершать "[" /quote "]". И потом ещё и подредактировать - всё хорошо работает (спасибо dmi).



Название: ADA и QNX
Отправлено: myst от Июля 05, 2002, 04:01:00 pm
Пробовал прикрутить адский компилер к gcc-2.95.2.
Копилирует, но не линкует.

P.S. Может остальные бинарники тоже выложить?
А то, наверное, не у всех есть желание пару ночей угарать сборкой
Я сделал архив (в bz2 формате). В него я запихал каталог
/usr/local/lib/ со всем его содержимым (там у меня кроме вещей
относящихся к gcc ничего и не было), а в каталог bin -
утилиты: cpp, gcov (вроде тоже от gcc ???), gnatlink, gnatmake, ...
Если это не все, что нужно для полного счастья - подскажите кто знает,
а то я че-то заблудился в файловой системе слегонца .
Весит этот архивчик 4849370 байт.
[addsig]


Название: ADA и QNX
Отправлено: myst от Июля 05, 2002, 04:59:00 pm


В свете вышесказанного, мне хотелось бы узнать:

1. Можно ли включить портированную версию в сборник?

2. Если можно, то как добраться до неё в виде UNIX-style архива?

Содержимое архива - это не полная портированная версия, а лишь
инструменты для ее сборки (gnat1, gnatbind, драйвер i386-pc-nto-qnx-gcc).
[addsig]


Название: ADA и QNX
Отправлено: olej от Июля 05, 2002, 10:16:00 pm

myst пишет:
P.S. Может остальные бинарники тоже выложить?
А то, наверное, не у всех есть желание пару ночей угарать сборкой
Я сделал архив (в bz2 формате). В него я запихал каталог
/usr/local/lib/ со всем его содержимым (там у меня кроме вещей
относящихся к gcc ничего и не было), а в каталог bin -
утилиты: cpp, gcov (вроде тоже от gcc ???), gnatlink, gnatmake, ...
Если это не все, что нужно для полного счастья - подскажите кто знает,
а то я че-то заблудился в файловой системе слегонца .
Весит этот архивчик 4849370 байт.

1.Я думал по этому тексту, что там лежит этот архивчик bz2 в проекте ftp://ftp.qnx.org.ru/pub/projects/myst/testing/ (я так прямолинейно понимаю термин "сделал"  ), а там всё тот же gcc-3.1-qnx-files.rar
2.А почему там сборки так надолго?
3.Если мы начнём с этим ковыряться (т.е. проект это как-то называется) - то, наверное, результирующие бинарники при модификациях надо будет оставлять - только strip-ованные.


Название: ADA и QNX
Отправлено: mrbool от Июля 06, 2002, 02:37:00 am

cs994 пишет:
Dear sirs!

В недрах FIDO образовалось то, что мы гордо называем Ru.Ada.Community. !) И мы сделали сборник материалов по Ada'е на CD. В него входят: документация, русский FAQ, библиотеки и, естественно, компиляторы для разных платформ. Обновлением и рассылкой этого диска ( по себестоимости ), который мы называем "сборник Васильченко" по имени составителя или Ru.Ada.Community
CD ROM


1) Сборник пора обновить.
2) А не много ли чести господину Васильченко ?
3) Предлагаю переименовать сборник в Ru.Ada.Community CD-ROM

P.S:
Все желающие могут читать SU.PASCAL.MODULA.ADA в режиме
read-only на http://www.fido-online.com после предварительной
бесплатной регистрации или на http://www.talk.tu (искать
конфернцию su.pascal.modula.ada)
[addsig]


Название: ADA и QNX
Отправлено: bbceler от Июля 07, 2002, 12:38:00 am

myst пишет:


В свете вышесказанного, мне хотелось бы узнать:

1. Можно ли включить портированную версию в сборник?

2. Если можно, то как добраться до неё в виде UNIX-style архива?

Содержимое архива - это не полная портированная версия, а лишь
инструменты для ее сборки (gnat1, gnatbind, драйвер i386-pc-nto-qnx-gcc).


Привет myst. Я долго пытаюсь что нибудь сделать на основе твоего архива,
но ничего не получается. Может скажи что нибуть больше как ты получил эти бинарики - gnat1, gnatbind. Или вылажи болше.
К стати можеть ктото скомпилировал SWI-Prolog ?
Я бес проблем портировал GNU Prolog version 1.2.13/14.
Можеть кого то интересуеть.


Название: ADA и QNX
Отправлено: myst от Июля 07, 2002, 02:46:00 am

bbceler пишет:
Привет myst. Я долго пытаюсь что нибудь сделать на основе твоего архива,
но ничего не получается. Может скажи что нибуть больше как ты получил эти бинарики - gnat1, gnatbind. Или вылажи болше.
К стати можеть ктото скомпилировал SWI-Prolog ?
Я бес проблем портировал GNU Prolog version 1.2.13/14.
Можеть кого то интересуеть.


Ты исходники gcc-3.1 с gcc.gnu.org скачал? Если нет, качай
Надо не все, а тока gcc-core-3.1.tar.bz2 и gcc-ada-3.1.tar.bz2
Первый размером 10560577 байт, второй - 3051029 байт. Итого
13 с копейками метров. После скачивания исходников распаковываешь
их в какой нибудь каталог, например в /usr/src/gcc-3.1, копируешь
с заменой папку gcc из архива в этот каталог. Дальше по инструкции.
Только есть один нюанс: все иходники могут компилироваться
родным къюниксовским gcc-2.95.2, кроме адской части (они написаны на аде).
Вот здесь и нужны те бинарники, которые и находятся в архиве.
Чтобы скомпилить адскую часть нужно поправить ada/Makefile в
сконфигурированном gcc, например, у меня полный путь
/usr/gcc-3.1/gcc/ada/Makefile. В это файле найди место:

# Let the configure setting prevail only if CC hasn't been overridden
# to xgcc by the top level Makefile (in a later stage of bootstrap).
ifeq ($(findstring xgcc, $(CC)),)
ADAC = gcc
else
ADAC = $(CC)
endif

Замени это на ADAC = i386-pc-nto-qnx-gcc -Bпапка_где_лежит_gnat1

i386-pc-nto-qnx-gcc и gnatbind можно положить например в /usr/local/bin
или в любой другой каталог (лишь бы был в PATH прописан, а то make не
найдет эти программы).

Должно сработать.

Правда есть странное обстаятельство: вторая стадия bootstrap'а бывает
обламывается, с какими-то дикими сообщениями об ошибках. Решение -
компилировать адские исходники без отладочной инфы (самое смешное
не компилятся только два пакета). Для этого я убрал все ключи -g из
Makefile.

P. S. Команда конфигурации:
./configure --enable-threads=posix --enable-languages=ada,c
[addsig]


Название: ADA и QNX
Отправлено: mrbool от Июля 07, 2002, 08:33:00 pm

myst пишет:

Olej пишет:
А интересно, пока пусть очень предварительно: а есть ли возможность как-то определить (pragma какие?) соглашения об external именах с тем, чтоб определить совместимость и линковку с библиотеками C/C++, а конкретно - перспективы подлинковки библиотек Photon?

Я знаю только три директивы по этому поводу:
(скпопировал из RM95)

pragma Convention([Convention =>] convention_identifier, [Entity =>] local_name);

pragma Import([Convention =>] convention_identifier, [Entity =>] local_name
      [,[External_Name =>] string_expression] [, [Link_Name =>] string_expression]);


pragma Export([Convention =>] convention_identifier, [Entity =>] local_name
      [,[External_Name =>] string_expression] [, [Link_Name =>] string_expression]);

Convention - имя языка, чьи соглашения будут использоваться;
Entity - имя объекта, для которого применяется директива;

External_Name -  a string value for the name used by a foreign
  language program either for an entity that an Ada program imports, or for referring
  to an entity that an Ada program exports.

Link_Name - a string value for the name of an exported or imported entity, based on
  the conventions of the foreign language’s compiler in interfacing with the
  system’s linker tool.

Еще есть директива для указания опций линкера:
pragma Linker_Options(string_expression);



Хочу заметить следующее, GNAT является 32bit'ным компилятором,
а так как QNX (если мне не изменяет память) может выполнять как
16bit так 32bit то в случае 16bit можно крепко наступить на грабли. Кстати, 3soft которые специализируются на создании софта
для real-time/embedded для автомобильной индустрии именно из-за
32bit'ности GNAT'а отказались от его использования. На данный момент в ходу железяки с 8bit и 16bit и софт пишется в основном на специально заточенном под embedded C
[addsig]


Название: ADA и QNX
Отправлено: myst от Июля 07, 2002, 11:31:00 pm


Хочу заметить следующее, GNAT является 32bit'ным компилятором,
а так как QNX (если мне не изменяет память) может выполнять как
16bit так 32bit то в случае 16bit можно крепко наступить на грабли. Кстати, 3soft которые специализируются на создании софта
для real-time/embedded для автомобильной индустрии именно из-за
32bit'ности GNAT'а отказались от его использования. На данный момент в ходу железяки с 8bit и 16bit и софт пишется в основном на специально заточенном под embedded C



QNX Neutrino, которая, в основном, обсуждается на этом форуме и для которой я собирал компилер
чисто 32-х разрядная.
[addsig]


Название: ADA и QNX
Отправлено: wind_alex от Июля 09, 2002, 06:17:00 pm
кстати а что это за модули в ..gccada5x ? Их нет
в дистрибутиве.



Название: ADA и QNX
Отправлено: myst от Июля 10, 2002, 12:40:00 am

wind_alex пишет:
кстати а что это за модули в ..gccada5x ? Их нет
в дистрибутиве.



Это модули платформно-зависимые модули для QNX. Смело копируй
их в дистрибутив
[addsig]


Название: ADA и QNX
Отправлено: bbceler от Июля 10, 2002, 10:49:00 pm

Привет myst. Спасиба. Я сделал как ты написал. Все идет хорошо до момента когда строится gnat1. Я получаю сообщениями об ошибках типа:
a-except.o(.debug+0x4e41): undefined reference to `L_T787'
a-except.o(.debug+0x4f95): undefined reference to `L_T794'
a-except.o(.debug+0x5166): undefined reference to `L_E971'
ali.o: In function `ali__shash':
ali.adb:543: undefined reference to `L_E1631'
Не знаеш что это обозначаеть ?.
К стати в xm-nto.h есть:
#include "i386/xm-i386.h"
#include "xm-svr4.h"  
но этих файлов нет.


Название: ADA и QNX
Отправлено: myst от Июля 11, 2002, 12:52:00 am

Привет myst. Спасиба. Я сделал как ты написал. Все идет хорошо до момента когда строится gnat1. Я получаю сообщениями об ошибках типа:
a-except.o(.debug+0x4e41): undefined reference to `L_T787'
a-except.o(.debug+0x4f95): undefined reference to `L_T794'
a-except.o(.debug+0x5166): undefined reference to `L_E971'
ali.o: In function `ali__shash':
ali.adb:543: undefined reference to `L_E1631'
Не знаеш что это обозначаеть ?.


У меня эта ботва тоже была. Причина, похоже, в том, что часть линкуемых
объектников скомпилена с отладочной инфой, а часть нет. Еще раз проверь
адский Makefile на наличие ключей -g. Кстати во время сборки он иногда
пересоздается заново. Так что, чтобы гимора было меньше, лучше эти ключи
удалить из ada/Makefile.in (оригинал лучше тоже сохранить ), что в
дистрибутиве. Удали все объектники в адской папке и попробуй заново.
В принципе, если эти ключи вообще не трогать, у меня собиралась
первая стадия, а вот вторая уже нет. Может этого и достаточно ???

Кстати, когда соберешь компилер, надо будет адскую библу собрать и
вспомогательные инструменты:
cd $objdir/gcc # папка gcc в каталоге сборки
make gnatlib_and_tools


К стати в xm-nto.h есть:
#include "i386/xm-i386.h"
#include "xm-svr4.h"
но этих файлов нет.


Я чувтсвовал, что чего-то забыл Намыль мне myst_oasu@mail.ru, пришлю.
Хотя если ты дошел до фазы линковки gnat1, значит CC1 в папке gcc уже
собран. Тогда возможно эти файлы и ненужны. Попробуй без них, если че
пиши.
[addsig]


Название: ADA и QNX
Отправлено: bbceler от Июля 12, 2002, 05:32:00 pm
Привет myst. Я получил новый gnat1. Он очень болшой. Но далше все обрывается.
Апять ошибки. Этот gnat1 это окончательный резултат ? Или нада бороться далше. А как ты собрал этот первый gnat1 ?


К стати в xm-nto.h есть:
#include "i386/xm-i386.h"
#include "xm-svr4.h"
но этих файлов нет.


Я делал без них.



Название: ADA и QNX
Отправлено: myst от Июля 12, 2002, 10:40:00 pm

Привет myst. Я получил новый gnat1. Он очень болшой. Но далше все обрывается.
Апять ошибки. Этот gnat1 это окончательный резултат ?

Привет.
Все зависит от того, работает ли он. У меня бывало получался нерабочим.
Проверить можно так:
test.adb:
procedure test is
  a : Integer;
begin
  a := 1 + 3;
end test;
компилируешь:
cd $objdir/gcc
xgcc -B. -c test.adb
Если не невылетит с воплями "core dump" или "floating point exception"
или "internal compiler error" с адресами куда слать инфу об ошибке или
че-нибудь в этом духе, то значит gnat1 рабочий. И, в принципе, я думаю
дальше можно сам компилер не собирать и попробовать собрать либу и
инструменты.
Размер gnat1 после сборки действительно большой под 15 мегов тянет.
Это нормально. Его потом можно будет strip'ом обкусать.
Насчет дальнейших ошибок. Я бы хотел на них взглянуть.

P.S. Можешь мылить (myst_oasu@mail.ru) мне напрямую. Эта тема на
форуме все равно завяла кроме тебя и меня ее никто не поддерживает .
[addsig]


Название: ADA и QNX
Отправлено: mrbool от Июля 15, 2002, 11:17:00 pm

P.S. Можешь мылить (myst_oasu@mail.ru) мне напрямую. Эта тема на
форуме все равно завяла кроме тебя и меня ее никто не поддерживает .


Ошибаетесь батенька, я переодически просматриваю. Вот как будет прецедент
сборки данного хозяйства 3 разными людьми, тогда я тоже подключусь
[addsig]


Название: ADA и QNX
Отправлено: myst от Июля 16, 2002, 05:21:00 am

mrbool пишет:

Ошибаетесь батенька, я переодически просматриваю. Вот как будет прецедент
сборки данного хозяйства 3 разными людьми, тогда я тоже подключусь


Я давно предлагал выложить полные бинарники на ftp, письмо dmi катал по этому
поводу. Ноль эмоций Зачем собирать, париться, когда все собрано. Тестировать надо!

[addsig]


Название: ADA и QNX
Отправлено: olej от Июля 18, 2002, 07:57:00 pm

myst пишет:

mrbool пишет:
Ошибаетесь батенька, я переодически просматриваю. Вот как будет прецедент
сборки данного хозяйства 3 разными людьми, тогда я тоже подключусь

Я давно предлагал выложить полные бинарники на ftp, письмо dmi катал по этому поводу. Ноль эмоций Зачем собирать, париться, когда все собрано. Тестировать надо!

Я просматриваю регулярно, и уверен - что ещё много народу. Никто тему не прекращал. Но пока оно сырое - крутитесь сами. Я рассчитываю, что когда сборка будет понятна и безошибочна, то сырцы, или может кто пакет *.qpr спромогнётся собрать - выложите на ftp, и с детальными комментариями как это всё делать - некогда всем время терять одно и то-же повторять.

dmi сейчас по лесам бегает ... лето, батенька. А как вернётся - я уверен, что будет создан упорядоченный проект. И спешить здесь особенно некуда - смысл не в том, чтоб gnat собрать, фиг с ним, с gnat-ом, а чтобы ADA в приложениях использовать, или как это правильнее: чтоб на ADA приложения лепить. А вот там только и начнётся ... на год разборок хватит...


Название: ADA и QNX
Отправлено: Evgeniy от Июля 18, 2002, 09:21:00 pm
Olej абсолютно прав - нечего всем возиться со сборкой - есть несколько человек кто в этом уже подразобрался и будет очень любезно с их стороны если они и доведут эту часть до стабильного состояния - я имею в виду "собираемость" не от случая к случаю, а стабильно . А как только можно будет нормально установиться и пробовать собственно ADA, то...


Название: ADA и QNX
Отправлено: mrbool от Июля 27, 2002, 05:32:00 pm

myst пишет:

mrbool пишет:

Ошибаетесь батенька, я переодически просматриваю. Вот как будет прецедент
сборки данного хозяйства 3 разными людьми, тогда я тоже подключусь


Я давно предлагал выложить полные бинарники на ftp, письмо dmi катал по этому
поводу. Ноль эмоций Зачем собирать, париться, когда все собрано. Тестировать надо!



Кстати, вышел 3.1.1 Unofficial release. Может подождем release ?
[addsig]


Название: ADA и QNX
Отправлено: dmi от Июля 28, 2002, 12:20:00 am

mrbool пишет:

Кстати, вышел 3.1.1 Unofficial release. Может подождем release ?



По-моему уже есть релиз 3.1.1 (bugfix). Во freebsd ports collection вчера появился gcc 3.3 (версия для разработчиков).

Говорил с разработчиками из qssl  по поводу порта gcc 3.1 для qnx. Они сказали, что пока что забросили эту идею.

Файлы, полученные от myst выложил на ftp:
ftp://ftp.qnx.org.ru/pub/projects/myst/testing/




Название: ADA и QNX
Отправлено: dmi от Июля 28, 2002, 12:20:00 am

mrbool пишет:

Кстати, вышел 3.1.1 Unofficial release. Может подождем release ?



По-моему уже есть релиз 3.1.1 (bugfix). Во freebsd ports collection вчера появился gcc 3.3 (версия для разработчиков).

Говорил с разработчиками из qssl  по поводу порта gcc 3.1 для qnx. Они сказали, что пока что забросили эту идею.

Файлы, полученные от myst выложил на ftp:
ftp://ftp.qnx.org.ru/pub/projects/myst/testing/




Название: ADA и QNX
Отправлено: bbceler от Июля 31, 2002, 09:02:00 pm


---Говорил с разработчиками из qssl  по поводу порта gcc 3.1 для qnx. Они ---сказали, что пока что забросили эту идею.
Привет, ты бы мог что то больше написать почему ?
bogdan.


Название: ADA и QNX
Отправлено: lestat от Августа 01, 2002, 02:21:00 pm
Тут я смотрю развиваются тенденции ADA == панацея Есть ли статистика об успешном использовании ADA ? Я не имею в виду решения вроде "написал для себя и горжусь этим по гроб жизни" а реальном настоящем использовании. Также интересует стыковка объектников ADA и C/C++ особенно C++. Потому как на сегодняшний день мы все настолько погрузли в C/C++ и в платформу x86, что выбраться от туда уже просто нереально (да и не хочеться ) Как быть со всеми сегодняшними наработками, миллионами библиотек и т.п. решениями. Или все будет переписываться заново ? На сколько я понимаю тенденции развития GNU Compiler Set плюшки в виде ObjectiveC/Pascal/Fortran/ADA туда добавляют только лишь для того, чтобы переманить к себе побольше людей в OpenSource и перенесения старых проектов но никак ни для написания серьезных новых вещей ...


Название: ADA и QNX
Отправлено: olej от Августа 01, 2002, 07:20:00 pm

lestat пишет:
Есть ли статистика об успешном использовании ADA ?

Статистики нет. А вот успешно заверщённые и весьма крупные проекты - есть, т.к. ADA - официальный язык новых разработок аэрокосмических и военно-воздушных ведомств министерства обороны США. Об них сообщалось, но детали, естественно, не описывались. Это, естественно, не означает, что относится "нашим" семействам процессоров, или ADA в реализации GNAT (я не знаю), хотя и инициатор и основной "движитель" проекта GNAT - это одна из военно-воздушных академий US (не помню какая, но легко пойти по URL и посмотреть).

Также интересует стыковка объектников ADA и C/C++ особенно C++. Потому как на сегодняшний день мы все настолько погрузли в C/C++ и в платформу x86, что выбраться от туда уже просто нереально (да и не хочеться ) Как быть со всеми сегодняшними наработками, миллионами библиотек и т.п. решениями. Или все будет переписываться заново ?

Нет, не переписываться, а прилинковываться. А до тех пор, пока не будет такой совместимости, ни о каком проекте ADA говорить не приходится.


Название: ADA и QNX
Отправлено: bbceler от Августа 01, 2002, 08:00:00 pm

lestat пишет:
Тут я смотрю развиваются тенденции ADA == панацея
=========
откуда у тебя такая мысль ?
=========
Есть ли статистика об успешном использовании ADA ? Я не имею в виду решения вроде "написал для себя и горжусь этим по гроб жизни" а реальном настоящем использовании.
=========
Я не спецялист по ADA, но посмотри на http://www.gnat.com/, и выбери CUSTOMERS.
=========
Также интересует стыковка объектников ADA и C/C++ особенно C++. Потому как на сегодняшний день мы все настолько погрузли в C/C++ и в платформу x86, что выбраться от туда уже просто нереально (да и не хочеться ) Как быть со всеми сегодняшними наработками, миллионами библиотек и т.п. решениями. Или все будет переписываться заново ? На сколько я понимаю тенденции развития GNU Compiler Set плюшки в виде ObjectiveC/Pascal/Fortran/ADA туда добавляют только лишь для того, чтобы переманить к себе побольше людей в OpenSource и перенесения старых проектов но никак ни для написания серьезных новых вещей ...

А на счеть погрузки в C/C++, то могу тебе сказать, что когда я начял заниматся нформатикой то таких компютеров как тот на котором ты писал свою заметку не было. Первый язык на котором я начал писать это Algol 68. А потом пошли - Fortran, Cobol, Pascal. До C и не говоря об C++ было еще далеко. А сколько библиотек в них создано ... Так что я думаю C/C++ это не конец. Я конешно не утверждаю что ADA это решение всех проблем и единственный верный путь. Но это очень интересный язык программированя, и стоит с ним хотябы познокомится. Он очень интересный с точки зреня проектирования систем.
Попробуй просмотреть книгу Р. Бар Язык Ада в проектировании систем. У меня есть издание с 1988 г. Она основана на ADA 83 a gnat это Ada 95.
Какое будет будуще этого никто не знаеть. Но увидиш черес год или два .. серьезные новые вещи ... будем писать не на C/C++ а на чем то другом.
Поздравляю,
bogdan.


Название: ADA и QNX
Отправлено: myst от Августа 01, 2002, 09:14:00 pm
По поводу Ада и С++ могу порекомендовать GNAT User's Guide, там есть целая глава
посвященная этой теме.
[addsig]


Название: ADA и QNX
Отправлено: olej от Августа 01, 2002, 09:46:00 pm

myst пишет:
По поводу Ада и С++ могу порекомендовать GNAT User's Guide, там есть целая глава посвященная этой теме.

"Порекомендовать" - это дать URL?


Название: ADA и QNX
Отправлено: Evgeniy от Августа 01, 2002, 10:38:00 pm

bbceler пишет:
... Первый язык на котором я начал писать это Algol 68. ...



Простите bogdan за нескромный вопрос: где и в какой среде это было?


Название: ADA и QNX
Отправлено: bbceler от Августа 01, 2002, 11:35:00 pm

Evgeniy пишет:

bbceler пишет:
... Первый язык на котором я начал писать это Algol 68. ...



Простите bogdan за нескромный вопрос: где и в какой среде это было?

Это было в 1971/72 году. Я тогда был студентом пепвого года Варшавского Университета. В те времена в эвропе на университетах Algol 68 был гороздо более популарен чем Fortran или PL1. Какая это была эвм то извини не помню.


Название: ADA и QNX
Отправлено: Evgeniy от Августа 01, 2002, 11:47:00 pm

bbceler пишет:

Evgeniy пишет:

bbceler пишет:
... Первый язык на котором я начал писать это Algol 68. ...



Простите bogdan за нескромный вопрос: где и в какой среде это было?

Это было в 1971/72 году. Я тогда был студентом пепвого года Варшавского Университета. В те времена в эвропе на университетах Algol 68 был гороздо более популарен чем Fortran или PL1. Какая это была эвм то извини не помню.


Большое спасибо!


Название: ADA и QNX
Отправлено: lestat от Августа 02, 2002, 12:26:00 pm

Первый язык на котором я начал писать это Algol 68. А потом пошли - Fortran, Cobol, Pascal. До C и не говоря об C++ было еще далеко. А сколько библиотек в них создано ...

Гораздо (просто порядки) меньше чем сейчас, хочешь поспорить ?

Так что я думаю C/C++ это не конец. Я конешно не утверждаю что ADA это решение всех проблем и единственный верный путь. Но это очень интересный язык программированя, и стоит с ним хотябы познокомится. Он очень интересный с точки зреня проектирования систем.

Сейчас эти "интересные" языки уже в пору отстреливать, потому как их развелось ... Мне так никто и неответил чем АДА лучше, то что его спонсируют НАСА и военные, меня это не впечатляет, они много дури спонсируют. Это к сожалению называется Yet Another Programming Language ...

Попробуй просмотреть книгу Р. Бар Язык Ада в проектировании систем. У меня есть издание с 1988 г. Она основана на ADA 83 a gnat это Ada 95.
Какое будет будуще этого никто не знаеть. Но увидиш черес год или два .. серьезные новые вещи ...

Сомневаюсь, эти новые серьезные вещи обычно окажутся чем-то вроде университетских работ "решение системы нелинейных уравнений методом ..."

будем писать не на C/C++ а на чем то другом.

ню-ню ...


Название: ADA и QNX
Отправлено: lestat от Августа 02, 2002, 01:26:00 pm
Ну, ну посмотрел я на сам язык:

1) Взял RSA'шные исходники MD5, переделанные под ADA: http://www.adapower.com/alg/Md5.html

Ничего особенного, паскалесишный (больше паскаль) синтаксис ... всяких телодвижений надо делать больше чем в 'C' (у меня есть эти исходники на 'C' - было с чем сравнивать).

2) Вычисление числа pi: http://www.chez.com/bignumber/big_0_28.zip .
Очень тяжелый код, но это как ни странно почти паскаль, в прошлом исходнике было больше стиля от 'C'.  

3) http://www.adapower.com/os/bsd-sockets.html BSD сокеты.

Это вообще шоу Бени-Хилла

Напоследок решил посмотреть Benefits of ADA: http://archive.adaic.com/docs/present/engle/comments/tsld016.htm ну прямо как программы партий перед выборами, одно и то же ...

ЧТО В НЕМ ТАКОГО, ЧТОБЫ ЕГО СТОИЛО ИЗУЧИТЬ ?


Название: ADA и QNX
Отправлено: olej от Августа 02, 2002, 02:05:00 pm

lestat пишет:
Сейчас эти "интересные" языки уже в пору отстреливать, потому как их развелось ... Мне так никто и неответил чем АДА лучше, то что его спонсируют НАСА и военные, меня это не впечатляет, они много дури спонсируют.

1.Не совсем так, т.е. "интересные" языки как раз впору отстреливать, это да, но ADA - исключение. Просто его стандарт разрабатывался, как разрабатываются стандарты: ISO, POSIX ... с финансированием, с сформулированными задачами, отбором из существующих решений ... И ТЗ поставленное на разработку ... очень:
-язык надёжного программирования (т.е. все синтаксические конструкции, способные порождать сомнительные в надёжности конструкции, отбрасывались априорно);
-поддержка в синтаксисе языка моделей параллелизмов и синхронизаций;
-пригодность для создания встроенных (embedded) автономных приложений;
-возможность описания "пакетов" целевой области для последующего автономного использования;
.......
Там есть ещё кое-что интересное, но и этого достаточно: не напоминает ли перечень требований на разработку ADA перечень рекламируемых в проспектах достоинств QNX... Просто они как-то могли дополнять друг-друга как ничто другое...

2.Там была очень интересная разработка: 5 независимых конкурирующих проектов, с финансированием (на эскиз-этапе, объявленном на 1 год) по $1млн., из которых отобрали 1. В каких-то из проектов участвовали Н.Вирт, Дэйкстра ... ещё много известного народу (не вспомню сразу). Это кое о чём говорит (об уровне т.е.) - надо же кому-то доверять? Кстати, из одного из забракованных проектов (на ставших ADA) - вырос OCCAM - не слабо, правда?

3.Конечно - это всё при условии использования (прикомпоновывания) всех C/C++ библиотек и системных вызовов OS. Конечно, все восторги "... мы всё будем писать заново ..." - это "голос не мужа, но юноши", и что на это можно сказать - только ... "спили мушку...". Без механизмов связывания ADA - мёртвый проект, но это понимали и разработчики, и механизмы разноязыкового связывания, и в первую очередь с C, описаны прямо в спецификациях языка (чего я не видел ни в одном другом, где всё это относилось к реализации). Т.е. разработчики сами видели (или предполагали) ADA, как некоторую "обёртку", wraper, на которой описывается только само целевое critical mission приложение - когда надёжность приложения гарантируется надёжностью синтаксических конструкций языка, а надёжность стандартных библиотечных и системных вызовов - тщательностью и многолетностью их вылизанности.

4.Чего не было в том проекте ADA83 (кажется так) - это объектности и классов (ну, не стали они ещё к тому времени общепринятым требованием). Это расширяет стандарт ADA95.

5.Всё выше сказанное относится к "взрослой" (промышленной) ADA, я не знаю, были ли такие реализации для x86, помнится, говорилось об Motorola... Проект GNAT - это "детская" ADA, т.е. проект на волне OSF, никак не соотносящейся с "официальной" линией стандартизации и развития ADA. Весь вопрос в том - насколько они следуют линии "официальной" ADA, и насколько они приблизились в реализациях к требованиям стандарта ADA (как часто бывает - "... этого у нас нет, но скоро будет ..." - цитата, QSSL;-)).

6.И последнее: если им и придётся (удасться ... это как кому ) воспользоваться, то проблем здесь с адаптацией тоже особенно никаких: ну, операторные скобки {} заменяем на begin end, некоторая языковая специфика с объявлениями видимости, export - import... На 1 день адаптации (это по верхам, конечно) и можно писать...



[ Это Сообщение было отредактировано: Olej в 2002-08-02 11:13 ]


Название: ADA и QNX
Отправлено: lestat от Августа 02, 2002, 02:32:00 pm

-язык надёжного программирования (т.е. все синтаксические конструкции, способные порождать сомнительные в надёжности конструкции, отбрасывались априорно);

Это "ПАСКАЛЬ" и это все benefit'сы паскаля ... это убивает также априорно гибкость языка ... и вынуждает программера писать шаблонно, коряво и неоптимально ...

-пригодность для создания встроенных (embedded) автономных приложений;

В чем это выражается ? Любой из интересных языков можно прикрутить к embedded, ту же яву ... которую туда собственно и крутят.

Там есть ещё кое-что интересное, но и этого достаточно: не напоминает ли перечень требований на разработку ADA перечень рекламируемых в проспектах достоинств QNX... Просто они как-то могли дополнять друг-друга как ничто другое...

Это напоминают программу партий и фотографии в салоне красоты ... действительность гораздо страшнее и не такая.

2.Там была очень интересная разработка: 5 независимых конкурирующих проектов, с финансированием (на эскиз-этапе, объявленном на 1 год) по $1млн., из которых отобрали 1. В каких-то из проектов участвовали Н.Вирт, Дэйкстра ... ещё много известного народу (не вспомню сразу). Это кое о чём говорит (об уровне т.е.) - надо же кому-то доверять? Кстати, из одного из забракованных проектов (на ставших ADA) - вырос OCCAM - не слабо, правда?

Ну про конкурирующие проекты я хорошо наслышан, взять тот же AES (криптография, риндждэйл), который чуть меньше года назад таки выбрали, на финишной прямой осталось несколько алгоритмов и все они были очень хороши, но выбрали один. И это никак не унижает в других глазах достоинства невыбранных алгоритмов.

Без механизмов связывания ADA - мёртвый проект, но это понимали и разработчики, и механизмы разноязыкового связывания, и в первую очередь с C, описаны прямо в спецификациях языка (чего я не видел ни в одном другом, где всё это относилось к реализации). Т.е. разработчики сами видели (или предполагали) ADA, как некоторую "обёртку", wraper, на которой описывается только само целевое critical mission приложение - когда надёжность приложения гарантируется надёжностью синтаксических конструкций языка, а надёжность стандартных библиотечных и системных вызовов - тщательностью и многолетностью их вылизанности.

Ты сам хоть веришь в лучшую надежность ADA в mission critical чем 'C' ? Это всего лишь еще один язык ...

5.Всё выше сказанное относится к "взрослой" (промышленной) ADA, я не знаю, были ли такие реализации для x86, помнится, говорилось об Motorola... Проект GNAT - это "детская" ADA, т.е. проект на волне OSF, никак не соотносящейся с "официальной" линией стандартизации и развития ADA. Весь вопрос в том - насколько они следуют линии "официальной" ADA, и насколько они приблизились в реализациях к требованиям стандарта ADA (как часто бывает - "... этого у нас нет, но скоро будет ..." - цитата, QSSL;-)).

Тогда зачем этот весь трэд ? Нет "взрослой" реализации, нет популярности, нет надежности компилятора и т.п. ... а делать поделки из пластилина можно и на всяких Ruby, Python, Perl и т.п. Это что-то сродни Кнутовскому MIX'у ...

6.И последнее: если им и придётся (удасться ... это как кому ) воспользоваться, то проблем здесь с адаптацией тоже особенно никаких: ну, операторные скобки {} заменяем на begin end, некоторая языковая специфика с объявлениями видимости, export - import... На 1 день адаптации (это по верхам, конечно) и можно писать...

Ладно ... поиск граалей, философских камней - это среди программеров особенно развито ... пишите на ADA. Но кроме громких слов и супер mission critical предназначения никто не сделал сравнение одинаковых участков кода на C/C++ и ADA и ткнул меня носом в то, что тут АДА рулит а C нервно курит всторонке ...


Название: ADA и QNX
Отправлено: bbceler от Августа 02, 2002, 07:06:00 pm
Дорогие друзя.
Я сижу в варшаве на работе, отложил роботу над программой в C - да представ lestat себе что я работаю в C и C++ - читаю форум и чувствую что чего то не понимаю. Мне казалось, что цель форума это продвигаться в перед, помагать друг другу, изучать новое, что то узнать.
lestat я не намерен далше входить с тобой в дисскусию каких библетек болше, какими языкам стоить заниматься а какими нет. Извини но я не русский, дла меня
это не так уж просто проводить дискусию на руском языке. У нас в польше такую дисскусию какая тепер получилас в форуме называють дискусией о том какой праздник важнее рождество или праздник пасхи. Говорять тоже собаки лають, караван идеть в перед.
К стати ведь здесь проблема ada/gnat это только маленькая часть проблемы компилатора gcc 3.х .
myst и я пробуем скомпилировть gcc конешно в связи с возможносьтю получения компилатора gnat. Есть много проблем. Я тепер боюсь что то сказать об этом что например можно создать компилатор g77 или Objective C.
И на конец прошу всех за ошибки.
Я надеусь что болше не вернуться времена когда были люди каторые нам говорили что нада, а чего нет. Чем стоить заниматься а чем нет.
Если хочеш занимайся, если неть то хотябы не мешай.
Счастливые люди которые все знають, как нада и что нада.
Поздравлаю всех,
bogdan.


Название: ADA и QNX
Отправлено: lestat от Августа 02, 2002, 07:51:00 pm

какими языкам стоить заниматься а какими нет.
Счастливые люди которые все знають, как нада и что нада.

Я никому не навязываю свою, я только лишь спрашиваю что имеет АДА того, что не имеет другой язык (мне не нужны пустые фразы, какие приводил Olej вроде той, что АДА - это супер надежность, мне нужны реальные доказательства: куски кода, сравнения и т.п.) Я не мешаю вам с myst'ом заниматься, я только лишь спрашиваю, но ответа никто не дает, все упиваются теорией ... о том что АДА это хорошо ... а тех кто много спрашивают просто "ласково" просят уйти и не занудничать, я не принимаю этот ответ ...

GOR&#260;CO POGRATULOWA&#262; ! Mike.

P.S. Почему ты все время нас поздравляешь ?


Название: ADA и QNX
Отправлено: olej от Августа 02, 2002, 08:26:00 pm

bbceler пишет:
Я тепер боюсь что то сказать об этом что например можно создать компилатор g77 или Objective C.

А бояться говорить не стоит ... это просто у нас манеры такие, в форуме ... шутят они так.

lestat пишет:
мне не нужны пустые фразы, какие приводил Olej вроде той, что АДА - это супер надежность, мне нужны реальные доказательства: куски кода

Это не мои пустые фразы - это фразы - результаты весьма продолжительных и серьёзных обсуждений в общемировай литературе того, какие языковые конструкции имеют в себе потенциально опасные элементы с точки зрения надёжности функционирования результирующего ПО, а какие - нет. За что купил - за то и продал...

Только реальные доказательства и куски кода тоже не всё доказывают. Давно показано - что тестирование готового кода - это один из худших способов доказательства наличия/отсутствия в нём потенциальных ошибок и опасностей. Есть ещё теория, её можно игнорировать, или утверждать, что "а я ей вовсе не доверяю" ... но только это уже не из области компьютеринга, а из области эстетики, т.е. из области понимания прекрасного ... , а там уже не спорят...

А когда полностью игнорируют то, что наработано теорией языков программирования, построения компиляторов и т.д., и спешат как можно побыстрее припасть пальцами к клавишам, то дальше получаются такие монстрюки, как VB, Delphi etc.


Название: ADA и QNX
Отправлено: olej от Августа 02, 2002, 09:24:00 pm
Ох и забрехались мы...
Делом заниматься некогда.

Всё, надо заходить на форум в режиме "сутки-трое"...


Название: ADA и QNX
Отправлено: bbceler от Августа 02, 2002, 09:41:00 pm

lestat пишет:

какими языкам стоить заниматься а какими нет.
Счастливые люди которые все знають, как нада и что нада.

Я никому не навязываю свою, я только лишь спрашиваю что имеет АДА того, что не имеет другой язык (мне не нужны пустые фразы, какие приводил Olej вроде той, что АДА - это супер надежность, мне нужны реальные доказательства: куски кода, сравнения и т.п.) Я не мешаю вам с myst'ом заниматься, я только лишь спрашиваю, но ответа никто не дает, все упиваются теорией ... о том что АДА это хорошо ... а тех кто много спрашивают просто "ласково" просят уйти и не занудничать, я не принимаю этот ответ ...

GOR&#260;CO POGRATULOWA&#262; ! Mike.

P.S. Почему ты все время нас поздравляешь ?


Я просто высказал только свое мнение. Все таки вижу что ты мне не понял.
Я считаю что стоить заниматься новым gcc, gnat, g77 и другом. А что имеет АДА другово чем другие языки это совсем другая тема. Можеш не верить но это очень трудно высказать в нескольких предложеньях. Это все таки очень сложный язык. Я повтаряюсь но ознакомся с книгой "Язык Ада в проектировании систем". Ты писал, что просматривал коечто в аде. Но возми во внимание, что ада то не только язык до записыванья алгорифмов, а средство для проектирования и постройки систем от малых до крупных. Ты участвовал когда нибудь в крупном проекте ?. Я не хотел чтобы ты просто ушол. Если ты так понял мои слава то извини. Если хорошо знаеш С то подклучись. Если тебе не интересуеть ада то помоги построить компилатор с++ в gcc 3.x для qnx.
Чтобы понять хорошо что такое ада то к сожалении надо доволно много пороботать. Я считаю что в этом отношению С или С++ гороздо проще. Но а если ты знаеш хорошо аду, то за чем этот разговор ?
А почему я так часто поздравляю - я так воспитан. Я в этом году кончаю 50 лет. И в отношении вежливости я уже не изменюсь. Поэтому,
поздравляю тебе lestat,
bogdan.



Название: ADA и QNX
Отправлено: Evgeniy от Августа 03, 2002, 02:29:00 am
Вопрос о том что есть хорошего в ADA (F90, FORTH... "и далее везде") не сводится только к внешней красоте и "экономности набивки кода" - критерий во время лепки (по другому назвать не могу) С.
И для понимания таких языков как ADA, A68..., в которых, если можно так выразиться, семантики намного больше чем синтаксиса, необходимо очень серьезное изучение, а не просто "посмотреть". Замечу, что на доводку ("отлавливание" сомнительных конструкций) того же Algol-68 лучшими мировыми специалистами было затрачено примерно 4(!) года.

К вопросу о надежности языка - только несколько примеров из А68 - просто с Адой я не так близко знаком .
Система видимости переменных и указателей разработана таким образом, что позволяет на этапе компиляции отловить и не допустить присваивание указателя на локальный объект глобальному указателю.
В языке отсутствует возможность явного уничтожения объектов - объект уничтожается тогда когда на него больше нет ссылок.
Еще один милый элемент ненадежности - "ручная" модифицируемость счетчика цикла. В А68 счетчик цикла локален в цикле и не допускается его изменение оператором присваивания.
Массивы. По стандарту языка каждый массив имеет паспорт (дескриптор), содержащий всю информацию о размерности массива - следовательно, вам нет необходимости передавать в подпрограмму эту информацию в отдельных переменных, а достаточно просто обратиться к стандартным (!) операциям, выдающим эти размеры.
Можете сами судить о том на сколько все это повышает надежность программ.

Я уже не говорю о таких изящных решениях, как триммерные вырезки, архитектура системы ввода/вывода, сверхмощные компилируемые форматы обмена и т.п.
Гибкость ортогональной структуры языка, в котором практически нет исключений, даже как-то неудобно сравнивать с тем же С - сколько лет ни пытаюсь понять на кой хрен им в С понадобилось два условных оператора, три оператора цикла и т.д - никак не могу

И давайте не смешивать разные вещи - "технические" возможности того или иного языка - это одно, а вопросы его использования - это совсем другое. Это так же, как есть общедоступный плохой win, и очень хороший, но малодоступный QNX

В связи с этим разговором мне вспомнился один фрагмент из FAQ по Modula-2.
Q: Кому нужна еще какая-то Modula-2, когда есть такой замечательный язык как С?
A: Всем тем, кто хочет решать задачи, а не заниматься бесконечным отлавливанием ошибок в программах...


Название: ADA и QNX
Отправлено: dmi от Августа 03, 2002, 11:22:00 pm
А есть ли у кого-нибудь на руках книги  с описанием языка Ada ? Если не сложно, впишите, пожалуйста в форум "Источники информации"(или пришлите мне почтой) информацию о них. Очень интересно.


Название: ADA и QNX
Отправлено: myst от Августа 03, 2002, 11:58:00 pm
ВСЕ? УСПОКОИЛИСЬ? На форум зайти срашно!
Устроили, ххх, трали-вали!
Точнее, устроил.
lestat, ты какого хрена бадягу развел, а?

Тут я смотрю развиваются тенденции ADA == панацея

Ты где в этой теме это увидел?
Ты че религиозный фанатик Си? Тогда на кой ты в этой
теме тусуешся, мучаешь себя? Может те к доктору сходить?

Я эту тему не для такой пурги начал. Я хотел нормально решать
вопросы реализации языка ADA на системе QNX, найти людей, кому это
интересно.
Сумашедших маньяков, готовых убить за "лучший" язык/ось,
и так, как грязи, в сети.

Войн что ли мало? Linux vs Win NT, c vs pascal, ada vs c, FreeBSD vs Linux,
oberon vs c/c++, что это за детский сад на лужайке?
Пожизни, как форум про ось или язык, так рано или поздно найдется
какой-нибудь упырь, который разожгет страсти на этой теме.
Вроде и люди-то, взрослые. Ну нет самого супер-пупер-турбо-блю-лучшего-
повсем-мыслимым-и-не-мыслемым-параметрам языка. Зато есть выбор. Выбери, что
подходит и работай!

P.S. lestat, ты разве не знаешь? "Настоящие программисты" пишут в прямо в
двоичных кодах :-E
[addsig]


Название: ADA и QNX
Отправлено: Evgeniy от Августа 04, 2002, 01:49:00 am

myst пишет:
ВСЕ? УСПОКОИЛИСЬ? На форум зайти срашно!
................


Эй-эй! Спокойнее!
"Меньше пены!"
Ну, еще не так страшно

Давайте обходиться без мордобоя - особенно с учетом раскрытия псевдонимов - ведь теперь-то битие будет не по анонимным псевдонимам, а прямо по имени - не стоит этого делать.

Вопрос же о достоинствах и недостатках языков программирования (ОС и т.д.) не такой бессмысленный, как кажется на первый взгляд. Во-первых, это движущая сила для развития обсуждаемых средств. Во-вторых, инструмент для понимания областей их применения и формирования стиля использования.
По своему опыту могу сказать, что детальное изучение и обсуждение с грамотными специалистами того же А68 крепко помогло мне в понимании очень многих вопросов.

Давайте только договоримся о соблюдении простого правила: "Обсуждению подлежат только технические характеристики и методы применения инструмента, а не его распространенность или какой "лучше". Тогда и всплески эмоций будут не такими острыми и на форум будет не так страшно заходить

[ Это Сообщение было отредактировано: Evgeniy в 2002-08-03 22:51 ]


Название: ADA и QNX
Отправлено: myst от Августа 04, 2002, 03:23:00 am

Давайте только договоримся о соблюдении простого правила:
"Обсуждению подлежат только технические характеристики и методы
применения инструмента, а не его распространенность или какой "лучше".
Тогда и всплески эмоций будут не такими острыми и на форум будет не
так страшно заходить.


Абсолютно с тобой согласен. Да, что-то я погорячился. Просто, надоело
читать некчемные лозунги защитников/противников. Этого добра в инете и
так хватает.
[addsig]


Название: ADA и QNX
Отправлено: Evgeniy от Августа 04, 2002, 04:06:00 am
Вот перечитал постинг lestat'а, который вызвал столь бурную реакцию , и очень захотелось сделать пару замечаний в нарушение самим же предложенного правила по вопросу распространенности языков.

Как известно, есть ложь, есть правда и есть статистика . Так вот, показатель "распространенности" применения языков программирования зависит не только от рассматриваемых областей применения, но и, например, от географии.

Если же говорить о "всех областях приложений", то подозреваю, что самыми распространенными окажутся разные варианты бейсиков (не забывайте о программируемых калькуляторах). За ними скорее всего будут идти SQL, HTML и связанные с ними скриптовые языки.
Диалекты паскаля (образование), фортрана (научно-технические вычисления) и кобола (несметное количество экономических приложений, мигрирующих с больших машин - так IBM продает версии почти под все "свои" платформы) вероятно тоже будут опережать С (в том числе возможно и в реальном времени - японцы, например, очень полюбляют фортран).

Так что, "...первым там распишется рядовой пехоты Ваня - и по праву!" ("В бой идут одни старики")


Название: ADA и QNX
Отправлено: lestat от Августа 05, 2002, 01:50:00 am

P.S. lestat, ты разве не знаешь? "Настоящие программисты" пишут в прямо в
двоичных кодах :-E

"Настоящему программеру" пофиг на чем писать и где писать, в ТОЛЬКО двоичных кодах пишут недоразвитые люди. И так как мне пофиг на чем писать, то я и спрашиваю, про АДУ (хочу чтобы был еще один язык, который мне пофигу) ... А вообще ответы мне напоминают историю "Про ж*пу Хэнка и отвратительных пожирателей майонеза" (Вот нашел: http://altruist.ru/text/henk.php , это подобие ответов мне: мы знаем что так есть и это правильно ). Эй мист ! можешь писать дальше в таком духе, мой /dev/null еще не забит.


[ Это Сообщение было отредактировано: lestat в 2002-08-04 23:13 ]


Название: ADA и QNX
Отправлено: myst от Августа 05, 2002, 03:54:00 am
lestat:
Мужик, давай, завязывай с флеймом! Это никому не интересно!
[addsig]


Название: ADA и QNX
Отправлено: lestat от Августа 05, 2002, 11:54:00 am

Мужик, давай, завязывай с флеймом! Это никому не интересно!

До твоего недержания складывался очень интересный разговор ... но тут пришел поручик и все опошлил ... считай до десяти прежде чем нажмешь "submit" в следующий раз ...


Название: ADA и QNX
Отправлено: klalafuda от Августа 05, 2002, 01:37:00 pm

может кто кинет ссылку на эл. версию той самой "Использование языка ADA в проектировании систем" ? с удовольствием бы посмотрел. твердой копии ессно нет, и где искать не знаю

// wbr



Название: ADA и QNX
Отправлено: olej от Августа 05, 2002, 01:39:00 pm

lestat пишет:
... но тут пришел поручик и все опошлил ...

Ну, с поручиком Ржевским там, в конечном итоге, всё благополучно заканчивалось... так вот и вы - прекращайте персонифицированный флейм: смотреть противно - что об нас (об форуме) посторонние подумают - вы уже и забудете давно, об каком предмете волновались, а ОНО в форуме останется...

P.S.Да, вот ещё - уважаемые: вынесите вопрос конкретной сборки QNX GNAT в отдельную тему, здесь уже разобраться трудно, а следить - интересно. И тема эта будет - долговременная (к сожалению). Например, пусть так и будет: "Портирование GNAT в QNX", и место ей, конечно - здесь, а не в "Переносе ПО...".



[ Это Сообщение было отредактировано: Olej в 2002-08-05 12:24 ]


Название: ADA и QNX
Отправлено: myst от Августа 06, 2002, 07:29:00 am
Интересно, кто-нибудь (кроме меня, ессесено ) пробовал бинарники gcc 3.1,
которые валяются на ftp?
[addsig]


Название: ADA и QNX
Отправлено: olej от Августа 06, 2002, 06:12:00 pm

myst пишет:
Интересно, кто-нибудь (кроме меня, ессесено ) пробовал бинарники gcc 3.1,
которые валяются на ftp?

Я вытянул, попробую и опишу. Задержка в том, что есть некоторые опасения, что такая установка может затронуть gcc на работающей машине, которая в штатной работе... Вообще, хорошо бы к таким (потенциально опасным) установкам - минимальные комментарии: что может наблюдаться, и каких неприятностей ждать.


Название: ADA и QNX
Отправлено: myst от Августа 06, 2002, 07:46:00 pm

Задержка в том, что есть некоторые опасения, что такая установка может
затронуть gcc на работающей машине, которая в штатной работе...

У меня работают оба и вроде не конфлитуют. Я посмотрел, gcc 3.1 свое добро
хранит в своей папке, а драйвер в /usr/local/bin. Родной же gcc свой драйвер
хранит, то ли /bin, то ли /usr/bin (запамятовал). Единственным неудобством
поначалу было, то что каталог /usr/local/bin в переменной PATH у меня стоит
позже /bin, /usr/bin и, по сему, пару раз путал компиляторы. А потом просто
переименовал драйвер gcc 3.1 в gcc-3.1 и все шоколадно стало
[addsig]


Название: ADA и QNX
Отправлено: olej от Августа 07, 2002, 07:59:00 pm
Ставил GNAT... Много думал...

Чтоб не наставить чего попало делал "по-частям" (не люблю я в этом смысле установку из *.tgz - чуствуешь себя заложником: говорят что станет "так", а если "не станет"? куда его потом девать). Заодно и посмотрел - где и что разложено. Может кому будет полезно. В каком-нибудь временном каталоге:
#bz2cat gnat-31-binary-full.tar.bz2 > gnat.tar
-это из того дистрибутива, который лежит у нас на сайте, dmi давал ссылку выше... получил gnat.tar размером ~29.5Mb.
#tar xvf gnat.tar
-получил 2 директории:

1./bin - здесь все утилиты GNAT, я их видел ещё в Win32 релизе, 18 файлов из которых 1 - "gcc" - символьная ссылка на /usr/local/bin/i386-pc-nto-qnx-gcc - это, как я понимаю, и есть сам компилер. Ссылка - абсолютная, т.е. никуда кроме /usr/local/bin/ это притулить нельзя;

2./lib - ну там - море библиотек...

Смутило и расстроило - это отсутствие минимального src или examples - чтоб не колотить ручками "Hello word!" - меня ведь пока интересует примитивная проверка работоспособности. А я ADA последний раз читал лет ... 7 назад.

Автору: Нельзя ли туда (или дополнительно) кинуть 2-3 простеньких examples?


Название: ADA и QNX
Отправлено: myst от Августа 07, 2002, 08:28:00 pm

Нельзя ли туда (или дополнительно) кинуть 2-3 простеньких examples?


Не проблем!
Могу из GNAT 3.13 взять, там много всяких, в том числе и многозадачные.

P.S. Только надо это организовать. У меня прямого доступа на ftp нет.
[addsig]


Название: ADA и QNX
Отправлено: myst от Августа 07, 2002, 09:01:00 pm
А пока можешь попробовать "Здравствуй, мир"
hello.adb:
with Ada.Text_IO; use Ada.Text_IO;
procedure Hello
   Put_Line ("Hello, world!");
end Hello;

трансляция:
gnatmake hello.adb
[addsig]


Название: ADA и QNX
Отправлено: olej от Августа 07, 2002, 09:53:00 pm

myst пишет:
А пока можешь попробовать "Здравствуй, мир"

Да нет, спасибо, не в том проблема: я посмотрел - у меня есть установленный Win32 GNAT, вроде v.3.13p называется - оттуда возьму Examples. Но если паковать пакет, то впредь надо будет учесть и подготовить, чтоб стянувшие могли сразу начать пробовать.


Название: ADA и QNX
Отправлено: cs994 от Августа 12, 2002, 07:14:00 pm
Hello!


klalafuda пишет:

может кто кинет ссылку на эл. версию той самой "Использование языка ADA в проектировании систем" ? с удовольствием бы посмотрел. твердой копии ессно нет, и где искать не знаю

// wbr




С радостью сообщаю, что упоминавший ся мною Ru.Ada.Community CD ROM выложен как в виде ISO образа, так и в развёрнутом виде на //ftp.chg.ru/pub/lang/ada

Среди всего прочего там есть FAQ со списком литературы на русском языке и выходными данными книг.
[addsig]


Название: ADA и QNX
Отправлено: klalafuda от Августа 12, 2002, 09:18:00 pm

cs994 пишет:
Hello!


klalafuda пишет:

может кто кинет ссылку на эл. версию той самой "Использование языка ADA в проектировании систем" ? с удовольствием бы посмотрел. твердой копии ессно нет, и где искать не знаю

// wbr




С радостью сообщаю, что упоминавший ся мною Ru.Ada.Community CD ROM выложен как в виде ISO образа, так и в развёрнутом виде на //ftp.chg.ru/pub/lang/ada

Среди всего прочего там есть FAQ со списком литературы на русском языке и выходными данными книг.



thanks

// wbr


Название: ADA и QNX
Отправлено: olej от Августа 15, 2002, 10:03:00 pm
Начал пробовать это ADA-кино. Смущает путаница с 2-х версионностью (;-) !) gcc - переименовывать не хочется (да и кого в куда...) - нехочется потерять работающую (и нужную по работе) QNX систему в результате таких экспериментов. Пока не придумал ничего лучше, временно, чем:
#export PATH=/usr/local/bin:$PATH

/root/GNAT.DST/Examples # gnatmake hello.adb
gcc -c hello.adb
gcc: installation problem, cannot exec '/usr/local/lib/gcc-lib/i386-pc-nto-qnx/3
.1/gnat1': Not enough memory
gnatmake: "hello.adb" compilation error

Да ... уже намазывается, но запах ещё сильный сохраняется ...


Название: ADA и QNX
Отправлено: myst от Августа 16, 2002, 12:30:00 am

gcc -c hello.adb
gcc: installation problem, cannot exec '/usr/local/lib/gcc-lib/i386-pc-nto-qnx/3
.1/gnat1': Not enough memory
gnatmake: "hello.adb" compilation error


Странно... Сообщения про нехватку памяти ни разу не встречал.
Может ее действительно не хватает? У меня на машине 256М и таких ошибок не было.

P.S. Интересно, а как определить сколько памяти ему надо?
[addsig]


Название: ADA и QNX
Отправлено: vgodunko от Ноября 17, 2002, 03:27:00 am
Уважаемые участники форума!

Не всегда имеет смысл ругать другой язык программирования, если Вы его не знаете и не имеете опыта работы с ним!

В отношении использования Ada у меня имеется некоторый, а именно шестилетний, опыт разработки систем. И не для иностранных компаний, а в нашей, родной, совдепии.

Далее попытаюсь ответить на некоторые заданные вопросы.

1. Написание программ шаблонно - это цель любой большой фирмы-разработчика ПО, особенно с такой длительностью жизненного цикла (я собственными глазами видел модули, написанные более 15 лет назад и используемые посей день).

2. Оптимальность - это понятие растяжимое. Если сравнивать оптимальность кода, собранного лучшими представителями компиляторов C и Ada то различий не будет. Современная теория компиляции способна извлечь из семантики Ada программы все, и сделать результирующий код не хуже.

3. Надежность программ - тоже тема сложная. Если C программу можно вылизать, то, как показывает мой опыт, на Ada ее вылежит компилятор и не даст собрать программу с ошибками. Кроме этого во время исполнения идет постоянный контроль за допустимостью значений и при малейших отклонениях трубят тревогу - система имеет возможность постараться исправить свое поведение. В C подобного просто не существует, если сам не будешь ваять что-то подобное.

4. И одно из самых важных. Ada это не только язык программирования. Это целая культура разработки больших программных систем. Понять ее не просто, да и помочь в этом невозможно. Все рано или поздно пробуют ее, но немногие с первого раза понимают заложенную в нее силу. Кто не понял, смотрят на это как на египетские пирамиды - есть, да что толку от них. А тем кто понял некогда заниматься рекламной шумихой - они заняты делом.

5. Из того, что никто не упомянал в этом споре хочется рассказать про так называемый ASIS - Ada Semantic Interface Specification. Эта библиотека позволяет стрить различные инструментальные сресдтва анализа программ на языке Ada. В том числе и для проведения доказательств корректности конечных программ. Что весьма неплохо для встроенных систем с ограниченным доступом после установки и запуска.

5. А теперь по поводу GCC3.x/GNAT. Использование данной парочки ОФИЦИАЛЬНО нерекомендуется разработчиком компилятора GNAT (это Ada Core Technologies). Для сборки реальных программ настоятельно рекомендуется пользоваться последней публичной версией - gnat3.14p. Найти ее можно ftp://ftp.cs.nyu.edu/pub/gnat.

Вадим Годунко,
Северо-Кавказский центр автоматизированного управления воздушным движением


Название: ADA и QNX
Отправлено: bbceler от Ноября 17, 2002, 08:20:00 pm
Цитировать

vgodunko пишет:
Уважаемые участники форума!

Не всегда имеет смысл ругать другой язык программирования, если Вы его не знаете и не имеете опыта работы с ним!
--------------------------------------------------
Я с этим вполни согласен.
---------------------------------------------------
5. А теперь по поводу GCC3.x/GNAT. Использование данной парочки ОФИЦИАЛЬНО нерекомендуется разработчиком компилятора GNAT (это Ada Core Technologies). Для сборки реальных программ настоятельно рекомендуется пользоваться последней публичной версией - gnat3.14p. Найти ее можно ftp://ftp.cs.nyu.edu/pub/gnat.
---------------------------------------------------
Это gnat3.14p основан на gcc 2.8.1. Ada Core Technologies разработала уже gnat 3.15 и эта версия gnat входить в разрабатываемый gcc 3.3. Кроме того мы в  QNX не имеем gnat3.14p основанный на gcc 2.8.1, а только gnat который разработал myst, но на основе gcc 3.1, так что думаю выхода нет. Мало вероятно что ктото в QNX будеть пробовать скомпилировать gnat3.14p. Я об этом ранше думал, но теперь только занимаюсь gnat 3.15. Последная версия которую я компилировал это версия с 20021111. Жаль только, что нет до сих пор оффицяльного реализа gcc 3.х для QNX. То что я получаю только gcc 3.3 и gnat 3.15. C++ 3.х для QNX не удалось насколько я знаю досих пор сделать.
Не хватаеть тоже нового gdb. Тот каторый мы имеем в QNX 6.2 что то не очень хочеть работать с gnat 3.15 который я у меня получаеться. Но и у меня теперь очень мало времени, так что мая работа над Ada заметно залержалось. Можеть ктото хочеть подклучиться. Я могу передать в форум последний gnat и gcc вместе с описанием как делать компилацю. Пишу статью которая надеюсь можеть быть введением в программирование на Ada95. Это в болшей степени попытка описания того как выглядить программа, как ее компилировать ... Это мои записки которые возникли когда я читаль книги и стати про Ada. Проблема в том, что я пишу на польском языке. Могу это перевести на русский, но тогда кто то должен это эстественно проверить.
Поздравляю,
bogdan.


Название: ADA и QNX
Отправлено: vgodunko от Ноября 18, 2002, 01:44:00 am
Кстати, может есть у кого опыт написания Makefile-ов для GCC и свободное время. Дело в том, что для GNAT из GCC3.x не существует ASIS-а. А у меня есть патч к версии 3.14p, позволяющий запустить ASIS-3.14 с GCC3/GNAT. Все бы ничего, да ASIS использует части компилятора и сильно привязывается к версии последнего. Может кто займется интеграцией ASIS-а в дерево GCC3?

Вадим


Название: ADA и QNX
Отправлено: bbceler от Января 21, 2003, 09:01:00 pm
Приветь всем.
Я решил попробовать компилировать версию с 20030113 но в QNX 6.2.1.
Все сработало. Работает. В QNX 6.2.1 есть новый gdb. Он уже даеть вожмостность работаы с программой скомпилированной с помощу полученного компилятора ады. Поэтому мне удалось на конец узнать почему не работаеть программа если ее компилировать с клучом -shared. Вот что я получил
=============================
# gdb ./hello hello.core
GNU gdb 5.2.1qnx-326 QNX Neutrino 6.2.1
Copyright 2002 Free Software Foundation, Inc.
GDB is free software, covered by the GNU General Public License, and you are
welcome to change it and/or distribute copies of it under certain conditions.
Type "show copying" to see the conditions.
There is absolutely no warranty for GDB.  Type "show warranty" for details.
This GDB was configured as "ntox86"...
Program terminated with signal 11, Segmentation fault.
#0  0xb032da4f in ?? ()
(gdb) where
#0  0xb032da4f in ?? ()
internal error - unimplemented function unk_lang_create_fundamental_type called.
(gdb)
=============================
У меня пока нет ответа как с этим бороться.  
Кроме того на сегодня совершенно времени свободново у меня нет.
Можеть ктото сможеть что то подсказать ?
В версии gcc-20030120 с точки зрения ады ничего нового неть.
Поздравляю,
bogdan.



Название: ADA и QNX
Отправлено: lestat от Января 21, 2003, 10:17:00 pm

#0  0xb032da4f in ?? ()
У меня пока нет ответа как с этим бороться.  

Не это ли ? Один только -shared в QNX не прокатывает. Надо еще -fPIC указывать.

http://qnx.org.ru/forum/viewtopic.php?topic=102&forum=4&36


Название: ADA и QNX
Отправлено: dmi от Января 22, 2003, 04:09:00 am
Скорее всего стоит взять libtool с http://qnx.wox.org/cdrom621/


Название: ADA и QNX
Отправлено: bbceler от Января 23, 2003, 02:40:00 am

dmi пишет:
Скорее всего стоит взять libtool с http://qnx.wox.org/cdrom621/

Привет.
К сожалени это не то. У меня был libtool который правилно строил библетеки в других проектах нпр. GTK, gprolog, ruby, MySQL .. Тепер я взял libtool так как сказал dmi с .../cdrom621. -fPIC тоже не решаеть проблему.
Я строю компилятор С и gnat. Построит C++ мне не удавалось и я пока этим не интересуюсь. Получаю библетеки libgnat.a, libgnat-3.15.so, libgnrl.a, libgnarl-3.15.so. У меня получаеться -
# gcc --version
gcc (GCC) 3.3 20030113 (prerelease)
Copyright (C) 2002 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
Есть программа hello.adb
# cat hello.adb
with Ada.Text_IO; use Ada.Text_IO;
procedure Hello is
begin
  Put_Line ("Hello World. Welcome to GNAT");
end;
Делаю первую компилацию -
# gnatmake hello
gcc -c hello.adb
gnatbind -x hello.ali
gnatlink hello.ali
# ./hello
Hello World. Welcome to GNAT
# ls -l hello
-rwxrwxr-x  1 root      root         754524 Jan 22 19:32 hello
# strip hello
# ls -l hello*
-rwxrwxr-x  1 root      root          79472 Jan 22 19:32 hello
-rw-r--r--  1 root      root            111 Jan 31  2001 hello.adb
-rw-rw-r--  1 root      root           1322 Jan 22 19:31 hello.ali
-rw-rw-r--  1 root      root            848 Jan 22 19:31 hello.o

Как видно даже после strip программа доволно болшая - 79472.
После -
# objdump -x hello
получаю -
hello:     file format elf32-i386
hello
architecture: i386, flags 0x00000112:
EXEC_P, HAS_SYMS, D_PAGED
start address 0x080492b4

Program Header:
   PHDR off    0x00000034 vaddr 0x08048034 paddr 0x08048034 align 2**2
...................................
Dynamic Section:
 NEEDED      libc.so.2
 INIT        0x8048e24
 FINI        0x8057d40
......................

Чтобы получить программу которая исползуеть libgnat-3.15.so делаеться так -

#  gnatmake hello -cargs -g -fPIC -bargs -shared -largs -g -fPIC
gcc -c -g -fPIC hello.adb
gnatbind -aO./ -shared -I- -x hello.ali
gnatlink -g -fPIC hello.ali
# ./hello
Memory fault (core dumped)
# ls -l hello
-rwxrwxr-x  1 root      root          24555 Jan 22 19:39 hello
# strip hello
# ls -l hello
-rwxrwxr-x  1 root      root           7040 Jan 22 19:40 hello
После -
# objdump -x hello
получаю -
hello:     file format elf32-i386
hello
architecture: i386, flags 0x00000112:
EXEC_P, HAS_SYMS, D_PAGED
start address 0x08048ed4

Program Header:
   PHDR off    0x00000034 vaddr 0x08048034 paddr 0x08048034 align 2**2
............................................
Dynamic Section:
 NEEDED      libgnat-3.15.so
 NEEDED      libc.so.2
 INIT        0x8048ce4
 FINI        0x8049248
 HASH        0x8048108
.............................................

Так что думаю, что проблема по сложнее.
Если не использовать libgnat-3.15.so даже сложные программы можно компилипрвать. Правильно работають программы в которых используються сложные  конструкции языка ада.
пока,
bogdan.


Название: ADA и QNX
Отправлено: dmi от Января 23, 2003, 04:30:00 am

bbceler пишет:

Привет.
К сожалени это не то.
...



Bogdan, Вы не могли бы прислать мне patch Ваших изменений для gcc-3.3 почтой ? unidiff (diff -ur) например.
Может быть мы смогли бы решить этот вопрос вместе ?


Название: ADA и QNX
Отправлено: lestat от Января 23, 2003, 01:09:00 pm

#  gnatmake hello -cargs -g -fPIC -bargs -shared -largs -g -fPIC
gcc -c -g -fPIC hello.adb
gnatbind -aO./ -shared -I- -x hello.ali
gnatlink -g -fPIC hello.ali
# ./hello
Memory fault (core dumped)

Может я конечно ничего не понимаю в колбасных обрезках, но мне не нравиться выше отквоченная строка:

gcc -c -g -fPIC hello.adb

где -shared сэр ? ))


Название: ADA и QNX
Отправлено: bbceler от Января 24, 2003, 02:00:00 am

dmi пишет:

Bogdan, Вы не могли бы прислать мне patch Ваших изменений для gcc-3.3 почтой ? unidiff (diff -ur) например.
Может быть мы смогли бы решить этот вопрос вместе ?

Спосибо. Я постораюсь переслать в ближащую пятницу или субботу.
Могу переслать весь компилятор, если хочеш попробовать посироить аду.
Дело в том, что есть силные озменения по сравнени с этим что сделал myst.


Название: ADA и QNX
Отправлено: dmi от Января 24, 2003, 02:19:00 am

bbceler пишет:

dmi пишет:

Bogdan, Вы не могли бы прислать мне patch Ваших изменений для gcc-3.3 почтой ? unidiff (diff -ur) например.
Может быть мы смогли бы решить этот вопрос вместе ?

Спосибо. Я постораюсь переслать в ближащую пятницу или субботу.
Могу переслать весь компилятор, если хочеш попробовать посироить аду.
Дело в том, что есть силные озменения по сравнени с этим что сделал myst.

Я все-таки предпочитаю патчи, т.к. сижу на модеме 33.6К. 20 с лишним мегабайт будут приниматься очень долго...


Название: ADA и QNX
Отправлено: bbceler от Января 24, 2003, 02:51:00 am

lestat пишет:

#  gnatmake hello -cargs -g -fPIC -bargs -shared -largs -g -fPIC
gcc -c -g -fPIC hello.adb
gnatbind -aO./ -shared -I- -x hello.ali
gnatlink -g -fPIC hello.ali
# ./hello
Memory fault (core dumped)

Может я конечно ничего не понимаю в колбасных обрезках, но мне не нравиться выше отквоченная строка:

gcc -c -g -fPIC hello.adb

где -shared сэр ? ))


Привет.
gnatmake hello -cargs -g -fPIC -bargs -shared -largs -g -fPIC
это команда, которая последовательно вызываеть gcc, gnatbind и gnatlink.
-cargs -g -fPIC -- передача аргументов в gcc
-bargs -shared  -- передача аргументов в gnatbind
-largs -g -fPIC -- передача аргументов в gnatlink
После линии gnatmake hello .... то что начинаеться в следуюших строках выводиться на экран автоматически. Я делал разные пробы. Ни одна не дала хорошего результата. Практически можно делать компилацю ада программы отдельно выполня команды gcc, gnatbind и gnatlink.
gcc -с -- это наверно понятно -с обязательно для ады,
gnatbind  -- работаеть с полученным *.ali -shared обязателно для работы с библетекой типа shared
gnatlink -- это ld для ады.
Я конешно тоже пробовал
gnatmake hello -cargs -g -fPIC -shared -bargs -shared -largs -g -fPIC
и тогда было
gcc -c -g -fPIC -shared hello.adb
но и так получаю Memory fault (core dumped) и gdb даеть тотже самое сообщение
internal error - unimplemented function unk_lang_create_fundamental_type called.
(gdb)
К стати lestat ты писал
===========
Может я конечно ничего не понимаю в колбасных обрезках, но мне не нравиться выше отквоченная строка:
===========
колбасных обрезках --- это имееть отношение к еде ? ))
отквоченная строка --- смысл мне понятен, но не смог перевести на польский язык слова "отквоченная", а словаря под рукой нет.
Может напиши как ты считаеш как должна выглядеть строка gcc и gnatlink.
Может я все таки ошибаюсь.
Поздравляю,
bogdan.




Название: ADA и QNX
Отправлено: lestat от Января 24, 2003, 01:21:00 pm

Я конешно тоже пробовал
gnatmake hello -cargs -g -fPIC -shared -bargs -shared -largs -g -fPIC

Надо обязательно, чтобы компилировалась программа с двумя опциями именно -fPIC и -shared: - т.е. в строке, которая "отквочена" выше ты не передал в -bargs опцию -fPIC - я считаю, что дело в этом.


колбасных обрезках --- это имееть отношение к еде ? ))

Вообще-то да, но не в этом случае Когда люди разговаривают о каких-то высоких материях (типа ADA ) а кто-то пытается влезть в разговор и сказать что-то очень простое, то так иногда говорят, т.е. "колбасные обрезки" == "высокие материи"

отквоченная строка --- смысл мне понятен, но не смог перевести на польский язык слова "отквоченная", а словаря под рукой нет.

От английского слова quote. Т.е. цитата, отцитированная строка. Sorry .

Может напиши как ты считаеш как должна выглядеть строка gcc и gnatlink.
Может я все таки ошибаюсь.

gnatmake hello -cargs -g -fPIC -shared -bargs -fPIC -shared -largs -g -fPIC -shared

Я так предполагаю, что это должно помочь.


Название: ADA и QNX
Отправлено: bbceler от Января 28, 2003, 05:23:00 am
[/quote]
gnatmake hello -cargs -g -fPIC -shared -bargs -fPIC -shared -largs -g -fPIC -shared

Я так предполагаю, что это должно помочь.

[/quote]
Привет.
это выдаеть ошибку:
# gnatmake hello -cargs -g -fPIC -shared -bargs -fPIC -shared -largs -g -fPIC -shared
gcc -c -g -fPIC -shared hello.adb
gnatbind -aO./ -fPIC -shared -I- -x hello.ali
gnatbind: invalid switch: P
gnatmake: *** bind failed.
============
точнее -fPIC для gnatbind вызываеть ошибку.


Название: ADA и QNX
Отправлено: bbceler от Января 28, 2003, 06:44:00 am

dmi пишет:

Bogdan, Вы не могли бы прислать мне patch Ваших изменений для gcc-3.3 почтой ? unidiff (diff -ur) например.
Может быть мы смогли бы решить этот вопрос вместе ?

Спосибо. Я постораюсь переслать в ближащую пятницу или субботу.
Могу переслать весь компилятор, если хочеш попробовать посироить аду.
Дело в том, что есть силные озменения по сравнени с этим что сделал myst.
[/quote]
Я все-таки предпочитаю патчи, т.к. сижу на модеме 33.6К. 20 с лишним мегабайт будут приниматься очень долго...
[/quote]
Привет dmi.
Я тебе выслал все что необходимо чтобы построить компилятор.
Эсли будеш использовать компилятор который построил myst, ты должен при первой компилации отказаться от клуча -g. После получения нового компилятора следующие можна будеть делать с клучом -g. После того как сработает configure обрати внимание на полученный ..nto/ntox86/gcc/Makefile на строку 663 там у меня получаеться ошибка. Как я ейу устраняю посмотри на то что я тебе выслал.
Потом я перехожу на ..gcc-20030120/nto/ntox86 и делаю make bootstrap 2>&1 | tee CC.log . И теперь одна важная обстоятелность. Мне до сих пор не удалось устранить этого и я это делаю в ручную. Когда идеть компилация строиться
..gcc/include/stdlib.h который исползуеться далше. После того когда stdlib.h появляеться он вызываеть ошибки там, где используеться wchar_t.
Я нашол что если добавить в 113 строке typedef long unsigned int wchar_t; то  все идеть правилно до самого конца. И я это делаю сразу после появленьия stdlib.h Это конешно не очень элегантно но работаеть. Можеть эсли ты найдеш выход. Потом, когда простроены xgcc, cc1, gnat1, gnatmake можна построить библетеку и tools. Это делаеться переходя на ..gcc-20030120/nto/ntox86/gcc и выполняя сначала make gnatlib-shared, потом make gnattools и на конец make install. Эсли будуть какие трудности пиши.
Желаю удачи,
bogdan.


Название: ADA и QNX
Отправлено: myst от Января 28, 2003, 05:27:00 pm

Когда идеть компилация строиться
..gcc/include/stdlib.h который исползуется дальше.
После того когда stdlib.h появляеться он вызываеть ошибки там,
где используеться wchar_t.


Помнится, у меня такая порнуха тоже была. Неуверен, но вроде дело
было в том, что при сборке фиксились некоторые заголовочники
(что не есть правильно для QNX). Я еще с ихнего CVS брал fixinc.nto,
который клал в каталог gcc3.1src/gcc/fixinc. И еще в этом случае надо
подправить mkfixinc.sh по аналогии с другими системами. В том же каталоге валяется
(я так понял он как раз и принимает решение для какой системы как
фиксить заголовочники).
[addsig]


Название: ADA и QNX
Отправлено: dmi от Января 29, 2003, 12:50:00 am

bbceler пишет:
Привет dmi.
Я тебе выслал все что необходимо чтобы построить компилятор.
...


Спасибо, файл получил.
К сожалению, смогу посмотреть только на следующей неделе - сейчас очень загружен.


Название: ADA и QNX
Отправлено: bbceler от Февраля 13, 2003, 08:24:00 pm
Привет.
Оказываеться, что проблема с gdb когда он выдаеть -
internal error - unimplemented function unk_lang_create_fundamental_type called.
не связана с проблемом -shared.
Мне кажеться, что нужно иметь gdb 5.3. В исходниках есть что то на счет ады.
Может кто то пробовал перенести gdb 5.3 на QNX 6.2.x. У меня получились болшие трудности с компиляцей. Эсть много разниц между gdb 5.0 а gdb 5.3.
Так что если есть у кого то опыть в этой областьи то буду благодарен если захочеть поделиться опытом. Я взял за основу источники gdb 5.0 для qnx.
bogdan.


Название: ADA и QNX
Отправлено: dmi от Февраля 13, 2003, 08:42:00 pm

bbceler пишет:

Может кто то пробовал перенести gdb 5.3 на QNX 6.2.x. У меня получились болшие трудности с компиляцей. Эсть много разниц между gdb 5.0 а gdb 5.3.


QSS пока не отсылает свои патчи разрабочикам gdb и gcc. Это - временно, до стабилизации ABI в gcc 3.x.
В QNX 6.3 возможно уже будет поддерживаться gcc3.x, но до этого патчи будут внесены в сам gcc на gcc.gnu.org. Там не все гладко и чисто, особенно с C++. Это - не к этому вопросу, а скорее к предыдущему
gdb собирать своими силами - задача равноценной сложности, и тут лучше ждать пачтей от QSS. Есть ли действительно необходимость в gdb 5.3 ?

P.S. gcc 3.2 еще не смотрел


Название: ADA и QNX
Отправлено: bbceler от Февраля 13, 2003, 10:16:00 pm

dmi пишет:

bbceler пишет:

Может кто то пробовал перенести gdb 5.3 на QNX 6.2.x. У меня получились болшие трудности с компиляцей. Эсть много разниц между gdb 5.0 а gdb 5.3.


QSS пока не отсылает свои патчи разрабочикам gdb и gcc. Это - временно, до стабилизации ABI в gcc 3.x.
В QNX 6.3 возможно уже будет поддерживаться gcc3.x, но до этого патчи будут внесены в сам gcc на gcc.gnu.org. Там не все гладко и чисто, особенно с C++. Это - не к этому вопросу, а скорее к предыдущему
gdb собирать своими силами - задача равноценной сложности, и тут лучше ждать пачтей от QSS. Есть ли действительно необходимость в gdb 5.3 ?

dmi есть хотябы два.
1) Неть возможностии решить проблему с компиляцей с -shared
2) В аду вносяться изменения. С времери порта каторый сделал myst есть болше изменения. Я внес свои чтобы система работала. Теперь я занялся вопросои задач в аде. Так как они основаны на posix threads то я решил просмотреть эту часть кода которая относиться к QNX. И оказалось что нада код проработать. Я думаю что myst делал это на основе разных источников и я думаю что в болшей степени опираясь на интуицию (извини myst если я ошибаюсь) и это работаеть. Но есть много неточностей и не все учтено. Я практически их уже устранил, но осталась такая проблема, что это очень упрощеный варянт который используеть минимальное количество функций pthread_.... И я решил просмотреть как это сделано в источниках для POSIX/FSU Threads. На зтой основе я сделал свои изменения и ввел много изменений. Компиляция касаеться только библетеки ады, и проходить без ошибок. Полученный компилятор работаеть. Все программы каторые не использують задач работають. А эти которые использують задачи проваливаються с ошибкой SIGSEGV. Эстественно что в таком случае очень трудно работать без gdb. Ведь ошибка может быть очень простая. Просматривать машинные коды это уж слишком болшая работа.
bogdan.



Название: ADA и QNX
Отправлено: myst от Февраля 15, 2003, 12:47:00 am
[qoute]
Я думаю что myst делал это на основе разных источников и я думаю что в болшей степени опираясь на интуицию (извини myst если я ошибаюсь) и это работаеть.
Но есть много неточностей и не все учтено.
[/qoute]

Абсолютно верно. Все что я сделал тогда, было основано на голой интуиции.
Поэтому несомненно наделал массу ошибок.
[addsig]


Название: ADA и QNX
Отправлено: wind_alex от Марта 19, 2003, 07:07:00 pm

bbceler пишет:
Может кто то пробовал перенести gdb 5.3 на QNX 6.2.x. У меня получились болшие трудности с компиляцей. Эсть много разниц между gdb 5.0 а gdb 5.3.


Тут я случайно нашел немного информации в фидо, может кому
понадобиться

=============================================================================
* Forwarded by Zahar Kiselev (2:5030/382.1)
* Area : filter382                                       17 Feb 03 17:48
* From : Alexey Neyman (2:5020/400)
* To   : "Alexey Neyman"
* Subj : Re: GCC-GNAT bootstrap
=============================================================================
* Forwarded from area 'ru.unix.prog'

From: "Alexey Neyman" <alex.neyman@auriga.ru>

On Wed, 29 Jan 2003 21:34:10 +0000 (UTC) Alexey Neyman wrote:
AN> Хочется: поставить GCC 3.2.1 с поддержкой Ada (GNAT, начиная с 3.1,
AN> входит в GCC). Проблема в том, что для сборки Ada необходимо наличие
AN> компилятора Ada. Согласно документации - для bootstrap'а можно
AN> использовать либо GCC 3.1 и старше, либо GNAT 3.13 и старше.

Спасибо Alexandre Makeev, ответившему приватом, проблема решена.
Вкратце - в gcc импортировали не 3.15 GNAT, а 3.14 - и сделали какие-то
изменения, порушившие bootstrap с 3.15 standalone. Теперь у меня
есть 3 патча:

1) (от Alexandre Makeev, но он говорит, что не он автор) - чинящий
  bootstrap с GNAT 3.15 на GCC 3.2.2.
2) (мой) - чинящий поддержку сборки Ada-бинарников с -shared (в том,
  что собирается в gcc 3.2.2, у libgnat есть unresolved references
  на libiberty.a)
3) (тоже мой) - в gdb 5.3 почему-то по умолчанию поддержка для Ada
  выключена. К счастью, это легко правится

Заинтересованные лица могут обращаться ко мне.

Алексей.

-- ,----------------------------------------, | A quoi ca sert d'etre sur la terre | Alexey V. Neyman | Si c'est pour faire nos vies a genoux! | mailto:alex.neyman@auriga.ru `------------------( Les Rois du Monde )-' -+- ifmail v.2.15dev5 + Origin: Auriga, Inc. (2:5020/400)


Название: ADA и QNX
Отправлено: bbceler от Августа 15, 2003, 01:14:00 am
Привет.
После длинного переда я внов смог заняться гнатом. Прежде всего Graeme Peterson создал новые патчи. Некоторые из них

2003-08-06  Graeme Peterson <gp@qnx.com>

   * config/i386/nto.h: New.
   * config/i386/t-nto: New.
   * config.gcc (i[34567]86-*-nto-qnx*): New.

вошли в gcc-3.4-20030813.
Патчи эти позволяють гороздо проще делать компиляцию gcc-3.4 чем эти которые я использовал при компиляции gcc-3.3.x Мне первый раз удалось построить не только gcc, но и g++ и проверить линковку модулей написанных в c++ и аде. Простые примеры работають правилно.
Мне кажеться что ада основана на gcc-3.4 работаеть лучше чем основана на gcc-3.3.x. Но это конешно можеть вытекать из за того, что в саму аду тоже вносят измененя.
И еще одно, всем кого интересуеть ада советую посетить сайт http://www.ada-ru.org/
bogdan


Название: ADA и QNX
Отправлено: bbceler от Августа 19, 2003, 09:11:00 am
Привет,
На конец я получил компилятор gnat с библетеками static и shared который  в полни работоспособный. Программы построены с учетом библетеки shared работають правилно.
Все программы которые я использую для тестирования вклучаю програму dinner работають в static и в shared. Так что dmi думаю что эсли ты считаеш это полезным, то я могу переслать в форум работаюший компилятор gnat 3.15.
Поздравляю,
bogdan.

P.S.
Я поменял mail: bceler@op.pl


Название: ADA и QNX
Отправлено: bbceler от Ноября 02, 2003, 11:22:11 pm
Приветь хочу сообщить новости связанные с адой.
Во первых готовится следующая версия GNAT а именно  3.16a которая основана так как и 3.15 на GCC 2.8.1.
Во вторых Ada Core Technologies, Inc. (http://www.gnat.com) решила все таки заняться построением компилятора ады на основе GCC 3.x и официално сообшила об новой ветви разработки компилятора ады а именно GNAT Pro 5.00a. 5.00a основано на GCC 3.2.3. Обе версии будут развиваться парарелно. Компилятор gnat в GCC 3.4  который я скомпилировал под QNX основан на версии 3.15 Я его переслал dmi. Но почти две недели тому назад наступили крупные изменения на GCC3.4  в отношени к аде. Короче говаря тепер ада в GCC3.4 основана на версии 5.00, а тoчнее на 5.02. Я так думаю поэтому, что у меня был доступ к cvs с 5.02 Мне удалось внести изменения для QNX и получил работауший компилятор. Как  и прежне меня инересуеть ада и язык C. Я обычно делаю компиляцию если есть какие то изменеия в источниках. Но тепер я это делаю каждую неделию. Я остаюсь заниматся GCC3.4 поэтому, что эту версиию в QNX можна компилировать почти без изменений, там уже есть внесены кое какие изменения для QNX. Новые версии GCC3.4 появляються в каждую среду, а GCC3.3 в понедельник. Как ада в GCC 3.4 станеть более стабилней, то подготовлю пакет и перешлию dmi. Но сам компилятор, это не все. Компиляторы ады проверяется с помощю очень крупного количества тестовых програм. Я немного этим занмался и все работало правилно, но на это нужно очень много времени. Каждый профессеналный компилятор ады прошел такие испытания. Ада в GCC3.3 и 3.4 экспериментальная, ее оффицияльно не поддерживает Ada Core Technologies, но все таки интересно хотябы неможко узнать ада 3.4 (думаю что так надо говорить, тем более, что в предыдущих версях библетеки назывались gnatlib3.15, а тепер – gnatlib3.4) это просто игрушка или чтото серезнее. Стоило бы попробовать скомилировать какую то программу посложнее к примеру: GNADE (GNat Ada Database Environment) или
GtkAda. Но у меня не хватаеть времени, так что все время жду что может кто хочет подклучиться. Я могу просто переслать компилятор по почте в несколких кусках так как я переслал dmi.
Поздравляю, извените за ошибки,
bogdan
[/b]


Название: ADA и QNX
Отправлено: olej от Декабря 10, 2003, 02:03:21 pm
to Bogdan
Богдан, спасибо за: ftp://ftp.qnx.org.ru/pub/projects/bbceler/gnat-3.4-x86-public.qpr !

Мы будем с этого времени более активно заниматься ADA, есть люди, которые обещают уделить этому предмету достаточно много времени. Посмотрите здесь:
http://qnxclub.net/modules.php?name=Forums&file=viewforum&f=8

to vgodunko если вы ещё бываете в форуме...:

Кстати, может есть у кого опыт написания Makefile-ов для GCC и свободное время. Дело в том, что для GNAT из GCC3.x не существует ASIS-а. А у меня есть патч к версии 3.14p, позволяющий запустить ASIS-3.14 с GCC3/GNAT. Все бы ничего, да ASIS использует части компилятора и сильно привязывается к версии последнего. Может кто займется интеграцией ASIS-а в дерево GCC3?
Вадим


Можно поподробнее об ASIS?


Название: ADA и QNX
Отправлено: vgodunko от Декабря 10, 2003, 07:50:59 pm
Olej
to vgodunko если вы ещё бываете в форуме...:


Благодаря стараниям Ilja Wasiltshenko уж бываю.

Olej
Можно поподробнее об ASIS?


Сомневаюсь, что смогу расказать об этом лучше авторов ASIS for GNAT:

http://www.ada-ru.org/asis.html

От себя хочу добавить, что нами разработаны и используются две программы на основе ASIS. Одна занимается написанием алгоритмов marshalling-а и преодолением ограничений, налагаемых на модель распределенных вычислений языка. Вторая предназначена для оптимизации (минимизации) используемого объёма памяти при построении таблиц данных, рассматривая различные стратегии сжатия, сочиняя необходимый код и проверяя конечные затраты она делает вывод о лучшей стратегии для данной целевой платформы. В настоящее время ведется разработка третьей программы, предназначенной для поиска неиспользуемых в программе конструкций языка.

PS. Если будут вопросы, то наверное лучше задавать их в Ada-RU.

http://groups.yahoo.com/group/ada_ru

Эта рассылка работает e-mail-ом и использовать её значительно удобнее.

PS. И ещё по пути писалась программа для извлечения из gnat-а текстов диагностических сообщений с целью их перевода на русский язык. Правда, как я понимаю, дальше громких обещаний "Да на раз" дело не пошло...


Название: ADA и QNX
Отправлено: mrbool от Января 29, 2004, 02:03:11 am
Вот и здесь http://www.openqnx.com/Article224.html уже опубликовали
------
GNAT 3.4 for QNX 6.2.1 is now available for download at ftp://ftp.qnx.org.ru/pub/projects/bbceler/ It is the Ada compiler from the gcc tool chain. It is ported directly from the gcc cvs by Bogdan Celer. At the ftp site, you can also find the examples for testing.
------


Название: ADA и QNX
Отправлено: bbceler от Марта 12, 2004, 01:30:36 am
Приветь.
Медленно приближаеться выход GCC 3.4. Уже три недели практически нет изменений в источниках ады.
Я просматрел источники GCC и нашел что имеетсья кроме других тестов тесты для ады. Это переработанные тесты сертификации компилятора ACATS.  Подробно можно почитать http://www.ada-ru.org/docs.html#acats .
На моем компе тестирование длиться 10 часов 45 минут (Pentium4 2.4 M ).
Мне приятьно сообщить что на прошлой недели первый раз компилятор ады под QNX прошол успешно все
тесты. Вот это снято с экрана после окончания тестов с компилятором с 20040310.

# make check-ada
test -d testsuite/ada/acats || mkdir -p testsuite/ada/acats
testdir=`cd /src/gcc-3.4-20040310/gcc/testsuite/ada/acats; ${PWDCMD-pwd}`;
export testdir; cd testsuite/ada/acats; ${testdir}/run_acats
                === acats configuration ===
target gcc is /src/gcc-3.4-20040310/nto/ntox86/gcc/xgcc -B/src/gcc-3.4-20040310/nto/ntox86/gcc/
Reading specs from /src/gcc-3.4-20040310/nto/ntox86/gcc/specs Configured with: /src/gcc-3.4-20040310/configure
 --srcdir=/src/gcc-3.4-20040310 --prefix=/usr/local --exec-prefix=/usr/local --with-local-prefix=/usr/local --
enable-languages=c,ada --enable-threads=posix --enable-shared Thread model: posix gcc version 3.4.0 20040310 (prerelease)
host=i386-pc-nto-qnx6.2.1
target=i386-pc-nto-qnx6.2.1
gnatmake is a tracked alias for /src/gcc-3.4-20040310/nto/ntox86/gcc/gnatmake

                === acats support ===
Generating support files... done.
Compiling support files... done.

                === acats tests ===
Running chapter a ...
Running chapter c2 ...
Running chapter c3 ...
Running chapter c4 ...
Running chapter c5 ...
Running chapter c6 ...
Running chapter c7 ...
Running chapter c8 ...
Running chapter c9 ...
Running chapter ca ...
Running chapter cb ...
Running chapter cc ...
Running chapter cd ...
Running chapter ce ...
Running chapter cxa ...
Running chapter cxb ...
Running chapter cxf ...
Running chapter cxg ...
Running chapter cxh ...
Running chapter cz ...
Running chapter d ...
Running chapter e ...
Running chapter gcc ...
Running chapter l ...
                === acats Summary ===
# of expected passes            2322
# of unexpected failures        0

Думаю, что когда появиться стабилная версия gcc-3.4, то можно будеть выложить аду на ftp.
С gcc-3.3.х есть тоже компилятор ады но он основан на gnat 3.15p. В gcc-3.4 компилятор ады основан на gnat 5.0х.


Название: ADA и QNX
Отправлено: bbceler от Апреля 25, 2004, 02:07:59 pm
Приветь.
GCC 3.4 уже вышел. Я собрал компилятор и провел тесты.
Очен интересно, но тестирование длилось 9 часов 38 минут (Pentium4 2.4 M ). Это на час быстрее чем предыдуще компиляторы.
Тесты прошли успешно. На конец то новый компилятор ады - GCC 3.4 признан вполне равноценным компилятором. Это признано на
http://libre.act-europe.fr/GNAT/ -
The current distribution of the public version of GNAT is 3.15p. This version is based on GCC 2.8.1.
It should not be confused with the versions of GNAT available with GCC 3.2 and 3.3, which are alpha versions
 of the integration of GNAT with recent versions of the GCC code generator, and do not correspond to any specific GNAT release.
GCC 3.4 contains an improved integration of GNAT which is suitable for academic and free software usage and
 can be considered as an alternative to GNAT 3.15p.
Я скоро буду готов переслать dmi компилятором GCC 3.4


Название: ADA и QNX
Отправлено: vic от Апреля 26, 2004, 05:55:56 pm
Привет!

Приятно слышать это, весьма кстати. Просто мне эта тема тоже интересна. Сегодня перепишу исходники gcc 3.4,  и попробую откомпилировать сам. Как Ваши впечатления от новой версии?


Название: ADA и QNX
Отправлено: bbceler от Мая 03, 2004, 01:57:27 am
Приветь.
Я подготовил компилятор gnat 3.4.0. dmi, чтобы упростить я создал маленький сайт
http://www.ajam.republika.pl/ он на польском языке, но я думаю, что на нем легко
найти линк gnat-3.4.0-x86-public.qpr.


Название: ADA и QNX
Отправлено: bbceler от Мая 29, 2004, 03:24:00 pm
Привет всем.
Я веду переписку с Viktorom Danylenko и к сожолени его почта уже второй раз не приняла мае писмою
Так что я решил использовать форум для ответа. Но я думаю, что это заинтересуеть всех.
Viktor тоже собрал gnat, но тесты у него проходят не все
вот выдержка из лога:

=== acats tests ===
Running chapter a ...
PASS: a22006b
PASS: a22006c
PASS: a22006d
PASS: a26007a
=== acats Summary ===
# of expected passes 1945
# of unexpected failures 21
# of unsupported tests 356
*** FAILURES: c23003b c23003g c23003i ca13001 cxg2002 cxg2003 cxg2004
cxg2006 cxg2007 cxg2010 cxg2011 cxg2012 cxg2013 cxg2014 cxg2015 cxg2016
cxg2017 cxg2018 cxg2019 cxg2020 cxg2021

У меня с тестом нет проблем
вот выдержка из моего лога:

=== acats configuration ===
target gcc is /src/gcc-3.4-20040303/nto/ntox86/gcc/xgcc -B/src/gcc-3.4-20040303/nto/ntox86/gcc/
Reading specs from /src/gcc-3.4-20040303/nto/ntox86/gcc/specs Configured with: /src/gcc-3.4-20040303/configure --srcdir=/src/gcc-3.4-20040303 --prefix=/usr/local --exec-prefix=/usr/local --with-local-prefix=/usr/local --enable-languages=c,ada --enable-threads=posix --enable-shared Thread model: posix gcc version 3.4.0 20040303 (prerelease)
host=i386-pc-nto-qnx6.2.1
target=i386-pc-nto-qnx6.2.1
gnatmake is a tracked alias for /src/gcc-3.4-20040303/nto/ntox86/gcc/gnatmake
........................................... ...................................
===  acats Summary ===
# of expected passes      2322
# of unexpected failures   0

Вот что я могу Viktor тебе подсказать:

*** FAILURES: c23003b c23003g c23003i - из за того что имя файла длинной больше 48 символов.
надо сделать:

touch /.longfilenames
chown root:root /.longfilenames
chmod 444 /.longfilenames
reboot
 
на счет осталных, то трудно мне что то сказать. Видно только, что большенство касаеться
cxg. Мне кажеться что ты должен попробовать найти место в котором программа выпадаетю К сожолении
у нас нет gdb работающего с gnat.
К статии, как долго длился acats tests ?
Viktor обротил мае внимание на то что на платформе Linux тесты длиться очень быстро.
Я проверил, действительно в Linux Mandrake 10.0 acats tests идеть очень очень быстро.

=== acats configuration ===
target gcc is /usr/src/gcc-3.4-20040507/objdir/gcc/xgcc -B/usr/src/gcc-3.4-20040507/objdir/gcc/
Reading specs from /usr/src/gcc-3.4-20040507/objdir/gcc/specs Configured with: ../configure --enable-languages=c,ada Thread model: posix gcc version 3.4.1 20040507 (prerelease)
host=i586-mandrake-linux-gnu
target=i686-pc-linux-gnu
gnatmake is /usr/src/gcc-3.4-20040507/objdir/gcc/gnatmake

GNATLS 3.4.1 20040507 (prerelease) Copyright 1997-2004 Free Software Foundation, Inc.
------------------------------------------------------------------------------------ ----
      ===  acats tests ===
Running chapter a ...
splitting /usr/src/gcc-3.4-20040507/objdir/gcc/testsuite/ada/acats/tests/a/a22006b.ada into:
   a22006b.adb
BUILD a22006b.adb
....................
RUN a22006b

,.,. A22006B ACATS 2.5 04-05-13 22:54:12
---- A22006B CHECK USE OF HT IN AND OUT OF COMMENTS.
==== A22006B PASSED ============================.
PASS:   a22006b
-------------------------------------------- --------------------------------------------
и  последнее

BUILD la140272.adb
..........................
RUN la140272

,.,. LA14027 ACATS 2.5 04-05-13 23:12:03
---- LA14027 Check that a compilation unit may not depend semantically
                on two different versions of the same compilation unit.
                Check the case where a task body depends on non-generic
                package specification.
==== LA14027 PASSED ============================.
PASS:   la14027
      === acats Summary ===
# of expected passes      2321
# of unexpected failures   1
*** FAILURES: c954025
Тест длился 18 минут, а в QNX это свыше 10 часов

,.,. A22006B ACATS 2.5 04-03-07 22:55:24  <<<<=====================
---- A22006B CHECK USE OF HT IN AND OUT OF COMMENTS.
==== A22006B PASSED ============================.
PASS:   a22006b
splitting /src/gcc-3.4-20040303/nto/ntox86/gcc/testsuite/ada/acats/tests/a/a22006c.ada into:
   a22006c.adb
-----------------------------------------------------------------------------------------
BUILD la140272.adb
gnatmake --GCC="/src/gcc-3.4-20040303/nto/ntox86/gcc/xgcc -B/src/gcc-3.4-20040303/nto/ntox86/gcc/" -gnatws -I.....
gnatbind -aO./ -I/src/gcc-3.4-20040303/nto/ntox86/gcc/testsuite/ada/acats/support -I- -x la140272.ali
.................................
gnatlink la140272.ali --GCC=/src/gcc-3.4-20040303/nto/ntox86/gcc/xgcc -B/src/gcc-3.4-20040303/nto/ntox86/gcc/
RUN la140272

,.,. LA14027 ACATS 2.5 04-03-08 09:32:21  <<<<=====================

========================================================================================
Я начал изучать проблему. Посмотрите как получаеться время исполнения для QNX
,.,. A22006B ACATS 2.5 04-05-16 09:15:14  - 14 с
,.,. A22006C ACATS 2.5 04-05-16 09:15:28  - 15 с
,.,. A22006D ACATS 2.5 04-05-16 09:15:43  - 14 с
,.,. A26007A ACATS 2.5 04-05-16 09:15:57  - 14 с
,.,. A27003A ACATS 2.5 04-05-16 09:16:11  - 15 с
,.,. A29003A ACATS 2.5 04-05-16 09:16:26  - 14 с
,.,. A2A031A ACATS 2.5 04-05-16 09:16:40  - 14 с
,.,. A33003A ACATS 2.5 04-05-16 09:16:54  - 15 с и так далее
,.,. A34017C ACATS 2.5 04-05-16 09:17:09
,.,. A35101B ACATS 2.5 04-05-16 09:17:23
,.,. A35402A ACATS 2.5 04-05-16 09:17:37
,.,. A35801F ACATS 2.5 04-05-16 09:17:52
,.,. A35902C ACATS 2.5 04-05-16 09:18:06
,.,. A38106D ACATS 2.5 04-05-16 09:18:20
,.,. A38106E ACATS 2.5 04-05-16 09:18:35
,.,. A49027A ACATS 2.5 04-05-16 09:18:49
,.,. A49027B ACATS 2.5 04-05-16 09:19:03
,.,. A49027C ACATS 2.5 04-05-16 09:19:18
,.,. A54B01A ACATS 2.5 04-05-16 09:19:33
,.,. A54B02A ACATS 2.5 04-05-16 09:19:47
,.,. A55B12A ACATS 2.5 04-05-16 09:20:01
,.,. A55B13A ACATS 2.5 04-05-16 09:20:16
,.,. A55B14A ACATS 2.5 04-05-16 09:20:30
,.,. A71004A ACATS 2.5 04-05-16 09:20:44
,.,. A73001I ACATS 2.5 04-05-16 09:20:58
,.,. A73001J ACATS 2.5 04-05-16 09:21:13
,.,. A74105B ACATS 2.5 04-05-16 09:21:27
видно, что среднее время выполнения одного теста = 14 с. Число тестов 2322.
2322 * 14 с = 32508 с = 541.8 минут = 9.03 часов !!!!!!
Это действительно так и эсть на самом деле. К этому надо добовить еще где то 30-40 минут на другие
вспомагателные действия которые в Linux идут очень очеть быстро.

 Для Linux Mandrake 10.0
,.,. A22006B ACATS 2.5 04-05-13 22:54:12
,.,. A22006C ACATS 2.5 04-05-13 22:54:12
,.,. A22006D ACATS 2.5 04-05-13 22:54:12
,.,. A26007A ACATS 2.5 04-05-13 22:54:13
,.,. A27003A ACATS 2.5 04-05-13 22:54:13
,.,. A29003A ACATS 2.5 04-05-13 22:54:13
,.,. A2A031A ACATS 2.5 04-05-13 22:54:13
,.,. A33003A ACATS 2.5 04-05-13 22:54:14
,.,. A34017C ACATS 2.5 04-05-13 22:54:14
,.,. A35101B ACATS 2.5 04-05-13 22:54:14
,.,. A35402A ACATS 2.5 04-05-13 22:54:14
,.,. A35801F ACATS 2.5 04-05-13 22:54:15
,.,. A35902C ACATS 2.5 04-05-13 22:54:15
,.,. A38106D ACATS 2.5 04-05-13 22:54:15
,.,. A38106E ACATS 2.5 04-05-13 22:54:15
,.,. A49027A ACATS 2.5 04-05-13 22:54:16
,.,. A49027B ACATS 2.5 04-05-13 22:54:16
,.,. A49027C ACATS 2.5 04-05-13 22:54:16
,.,. A54B01A ACATS 2.5 04-05-13 22:54:17
,.,. A54B02A ACATS 2.5 04-05-13 22:54:17
,.,. A55B12A ACATS 2.5 04-05-13 22:54:17
,.,. A55B13A ACATS 2.5 04-05-13 22:54:17
,.,. A55B14A ACATS 2.5 04-05-13 22:54:18
,.,. A71004A ACATS 2.5 04-05-13 22:54:18
,.,. A73001I ACATS 2.5 04-05-13 22:54:18
,.,. A73001J ACATS 2.5 04-05-13 22:54:18
,.,. A74105B ACATS 2.5 04-05-13 22:54:19
Как говорят = Ничего не скажеш.
Прошу заметить, что с этого что я представляю, не видно времени исполнения самого теста. А есть время
на которое складываеться -
1. время подготовки - каждый тест записан в файлах с оконьчанием .ada или .a. Компилятор gnat не работаеть
с такими файлами. Для этого существуеть спецялная утилита gnatchop - к примеру тест cxf2003 обрабатываеться так
gnatchop для cxf2003.a выдаеть

splitting /src/gcc-3.4-20040303/nto/ntox86/gcc/testsuite/ada/acats/tests/cxf/cxf2003.a into:
   cxf2003_0.ads
   cxf2003_0.adb
   cxf2003_1.ads
   cxf2003.adb

в QNX это можеть длиться даже 10-20 секунд. А ведь gnatchop только читаеть текстовой файл и создаеть
и пишет в текстовые файли. Видно что надо внимательно просмотреть и вероятно переписать библетеку
gnat I/O для QNX.

2. время сборки  - BUILD cxf2003.adb
    gnatmake .............
    gnatbind .............
    gnatlink .............

3. время исполнения  - RUN cxf2003

,.,. CXF2003 ACATS 2.5 04-03-08 08:55:22
---- CXF2003 Check decimal multiplication and division, and 'Round,
                where the operand types are different.
==== CXF2003 PASSED ============================.
PASS:   cxf2003

Надо еще найти способ измерения времени сборки, а прежде всего время исполнения.
Может кто то занимался такими вопросами и сможеть что то подсказать.  
У меня очень мало времени, и все длиться медленно.
Пока,
bogdan.
=============
Viktor
К стати я в Харькове учился 2 с половиной года в Инжинерно-Экономическом Институте, а потом
переехал в Киев в Университет. Но сегодня я думаю Харьков это другой город чем тот которой я помню.


Название: ADA и QNX
Отправлено: vic от Июня 01, 2004, 05:45:07 pm
bbceler

Так что я решил использовать форум для ответа.

Спасибо за ответ. Почта действительно глючила страшно последние пару недель.

bbceler

К статии, как долго длился acats tests ?


Их выполнение заняло около 15 часов ( на машине Сeleron 667 MГц, 256 Mб), сравнивая твои и мои результаты прихожу к выводу, что длительность выполнения тестов в основном определяется не производительностью процессора, а скоростью дисковых операция

bbceler

К стати я в Харькове учился 2 с половиной года в Инжинерно-Экономическом Институте, а потом
переехал в Киев в Университет. Но сегодня я думаю Харьков это

Знаем такой, этот институт находится метрах в трехстах от нашего офиса. Я тоже думаю, что очень изменился, даже за те 11 лет, что я в Харькове многое поменялось.


Виктор


Название: ADA и QNX
Отправлено: Evgeniy от Июня 01, 2004, 06:40:35 pm
bbceler
К стати я в Харькове учился 2 с половиной года в Инжинерно-Экономическом Институте, а потом
переехал в Киев в Университет. Но сегодня я думаю Харьков это другой город чем тот которой я помню.


А когда и на каком факультете учились? Я там три года прораьотал на ВЦ


Название: ADA и QNX
Отправлено: olej от Июня 02, 2004, 11:03:05 am
to vic & bbceler :

Их выполнение заняло около 15 часов ( на машине Сeleron 667 MГц, 256 Mб), сравнивая твои и мои результаты прихожу к выводу, что длительность выполнения тестов в основном определяется не производительностью процессора, а скоростью дисковых операция

Viktor обротил мае внимание на то что на платформе Linux тесты длиться очень быстро.
Я проверил, действительно в Linux Mandrake 10.0 acats tests идеть очень очень быстро.


Не может ли быть связана такая разница с тем, что в Linux gnat работает со swap (т.е. там всё так работает), а собранный вами gcc (gnat) - без разрешения свопировать данные, которое в QNX нужно заказывать специально. И тогда gnat крутится в ограниченной памяти...

Где-то в QSSL упоминалось, что разрешение свопирования данных было введено, одним из 1-х пунктов где это потребовалось - для работы компилятора gcc.

Сравните скорости исходного gcc в поставке QNX, со скоростью вами собранного gcc, но на компиляции С/С++ кода (естественно, gcc нужно тогда чтоб был собран с поддержкой помимо Ada и C/C++).


Название: ADA и QNX
Отправлено: bbceler от Июля 11, 2004, 07:58:40 pm
Приветь.
Я собрал компилятор GCC 3.4.0 и GCC 3.4.1 для QNX 6.3 и провел тесты.
Тестирование длилось 45 - 49 минут, что на 9 часов менше чем на QNX 6.2.1.
На сайт http://www.ajam.republika.pl/ я выложил gnat-3.4.1-x86-public-qnx63.tar.bz2.
Я провел тоже исследования на счеть сравнения скорости между QNX а Linux.
Вот для Linux Mandrake 10.0
==================================================
./time_once /usr/local/bin/gnatmake -O3 -fomit-frame-pointer -gnatpN --GNATBIND=/usr/local/bin/gnatbind
 --GNATLINK=/usr/local/bin/gnatlink main > Komp3.log
Start excecution...
Excution result
---------------
Overhead time is   0.009806000
Test run           1.283709000
Result is          1.273903000   => длина компиляции

./time_many ./main >> Komp3.log
Start excecution...
Dhrystone Benchmark, Version 2.1 (Language: Ada)
Execution starts,    10000000  runs through Dhrystone
Execution ends
Microseconds for one run through Dhrystone:   0.26
Dhrystones per second:                       3905885.25
Dhrystone Benchmark, Version 2.1 (Language: Ada)
Execution starts,    10000000  runs through Dhrystone
Execution ends
Microseconds for one run through Dhrystone:   0.27
Dhrystones per second:                       3762977.50
Dhrystone Benchmark, Version 2.1 (Language: Ada)
Execution starts,    10000000  runs through Dhrystone
Execution ends
Microseconds for one run through Dhrystone:   0.26
Dhrystones per second:                       3782709.00
Dhrystone Benchmark, Version 2.1 (Language: Ada)
Execution starts,    10000000  runs through Dhrystone
Execution ends
Microseconds for one run through Dhrystone:   0.26
Dhrystones per second:                       3903031.75
Dhrystone Benchmark, Version 2.1 (Language: Ada)
Execution starts,    10000000  runs through Dhrystone
Execution ends
Microseconds for one run through Dhrystone:   0.26
Dhrystones per second:                       3901166.50
Excution results
----------------
Overhead time is   0.006868000
Test run 1         2.567513000
Test run 2         2.664853000
Test run 3         2.651003000
Test run 4         2.569497000
Test run 5         2.570724000
Average results is 2.597850000   => средная длина выполнения

=====================================================================

А для QNX 6.3

=====================================================================
./time_once gnatmake -O3 -fomit-frame-pointer -gnatpN main > Wynik.log
Start excecution...
Excution result
---------------
Overhead time is   0.000000000
Test run           8.197745553
Result is          8.197745553    => длина компиляции

./time_many ./main >> Wynik.log
Start excecution...
Dhrystone Benchmark, Version 2.1 (Language: Ada)
Execution starts,    10000000  runs through Dhrystone
Execution ends
Microseconds for one run through Dhrystone:   0.28
Dhrystones per second:                       3566879.50
Dhrystone Benchmark, Version 2.1 (Language: Ada)
Execution starts,    10000000  runs through Dhrystone
Execution ends
Microseconds for one run through Dhrystone:   0.28
Dhrystones per second:                       3582210.00
Dhrystone Benchmark, Version 2.1 (Language: Ada)
Execution starts,    10000000  runs through Dhrystone
Execution ends
Microseconds for one run through Dhrystone:   0.28
Dhrystones per second:                       3550418.75
Dhrystone Benchmark, Version 2.1 (Language: Ada)
Execution starts,    10000000  runs through Dhrystone
Execution ends
Microseconds for one run through Dhrystone:   0.28
Dhrystones per second:                       3586063.25
Dhrystone Benchmark, Version 2.1 (Language: Ada)
Execution starts,    10000000  runs through Dhrystone
Execution ends
Microseconds for one run through Dhrystone:   0.28
Dhrystones per second:                       3584777.75
Excution results
----------------
Overhead time is   0.000999847
Test run 1         2.814569305
Test run 2         2.802571141
Test run 3         2.826567469
Test run 4         2.800571447
Test run 5         2.799571600
Average results is 2.807770345         => средная длина выполнения

=====================================================================

Ддя QNX 6.2.1 результат средная длина выполнения Average results is 2.815169213 практически одинаковы с QNX 6.3.
Только длина компиляции Result is 23.231445045 значительно болше.


Название: ADA и QNX
Отправлено: bbceler от Сентября 08, 2004, 07:37:04 pm
Приветь всем.
Я собрал компилятор gnat 3.4.2 и выложил на сайт http://www.ajam.republika.pl/ - gnat-3.4.2-x86-public-qnx63.tar.bz2.
Тестирование длилось 44 минуты.
=== acats Summary ===
# of expected passes 2322
# of unexpected failures 0
bogdan.


Название: ADA и QNX
Отправлено: AG от Сентября 09, 2004, 07:43:36 am
Тормоза с работой GCC (и в частности ADA) в QNX 6.2.* вызваны, скорее всего, наличием fs-pkg - т.н. файловой системой пакетов. В 6.3.0 таких тормозов не должно быть по причине отсутствия их источника.

А вообще такие вопросы надо выяснять профайлером. Т.е. надо погонять программу в профайлере и посмотреть, где конкретно тормозит.

Можно вопрос из оффтопика?
Богдан судя по всему из Польши (я сужу по адресу  http://www.ajam.republika.pl/). Как вы, Богдан, можете отозваться о польском портале QNX - http://www.qnx.org.pl/ ?


Название: ADA и QNX
Отправлено: bbceler от Сентября 20, 2004, 06:02:55 pm
Цитата: AG

В QNX 6.3 процесс компилации програм ады идеть быстро. Однако не хватаеть gdb.
На счеть польского портала QNX - http://www.qnx.org.pl/ могу только сказать, что он находиться на раннем стадии. Я пока не имею к нему никокого отношения.


Название: ADA и QNX
Отправлено: s_kSubj от Марта 31, 2005, 02:50:02 pm
При установке gnat-3.4-x86-public.qpr инсталлятор запросил файл libintl.so.4 . Где его искать и с чем его едят?


Название: ADA и QNX
Отправлено: lestat от Марта 31, 2005, 03:00:04 pm
s_kSubj
Где его искать и с чем его едят?

PublicCD от QNX 6.2.1, пакет gettext.


Название: ADA и QNX
Отправлено: s_kSubj от Марта 31, 2005, 03:37:30 pm
Спасибо.. буду пробовать..


Название: ADA и QNX
Отправлено: s_kSubj от Марта 31, 2005, 05:55:49 pm
Последний запросил файл libiconv.so.2 .
Выхожу на второй виток, где его искать?
У меня CD то нету, софт качаю с нета, ручками из под винды (модем блин софт), так что не могли бы вы описать что еще может потребоваться.
И еще, gcc ругается, что Ada компилятор не установлен в этой системе. Я как бы мало еще чего понимаю, можно ли объяснить популярно что к чему, как настроить, как компилить. А ADA мне действительно очень интересен...


Название: ADA и QNX
Отправлено: s_kSubj от Марта 31, 2005, 06:00:15 pm
Ага, libiconv нашел (из одноименного пакета если не ошибаюсь).
Тревожит сообщение gcc насчет отсутствия компилятора..


Название: ADA и QNX
Отправлено: s_kSubj от Марта 31, 2005, 09:17:25 pm
Тээк, все настроил, можете небеспокоиться насчет ликбезов.
Для тестирования выбрал зубочистку, которую еще месяц назад писал. Представляет из себя календарик по принципу бумажных табличных календариков на 1900-2039гг(мож видели). На всякий случай сюда выложу, мож пригодится кому ;) :

<

---------------------------------------------
-- Project: Calendar 1900-2039
-- Description: Main module
-- Copyright (c) 2005 by Subj (subj@bk.ru)
-- File: scalendar.adb
-- Programming Language: ADA95
-- 01.03.2005
---------------------------------------------
with Ada.Text_Io;
with Ada.Integer_Text_Io;
with Calculus;
use Ada.Text_Io;
use Ada.Integer_Text_Io;
procedure SCalendar is
Answer : String := "N";
Year : Calculus.AYear;
Month : Calculus.AMonth;
Date : Calculus.ADate;
begin
Calculus.Create;
-- Main Loop
loop
-- Input Year
loop
declare
Y : Calculus.AYear;
begin
Put("Write Year(1900-2039): ");
Get(Y);
Year := Y;
exit;
exception
when Constraint_Error =>
Put_Line("That number should be between 1900 and 2039");
end;
end loop; -- Input Year
-- Input Month
loop
declare
M : Calculus.AMonth;
begin
Put("Write Month(1-12): ");
Get(M);
Month := M;
exit;
exception
when Constraint_Error =>
Put_Line("That number should be between 1 and 12");
end;
end loop; -- Input Month
-- Input Date
loop
declare
D : Calculus.ADate;
begin
Put("Write Date(1-31): ");
Get(D);
Date := D;
exit;
exception
when Constraint_Error =>
Put_Line("That number should be between 1 and 31");
end;
end loop; -- Input Date
Put(Integer'Image(Year) & " :" & Integer'Image(Month) & " :" & Integer'Image(Date) & " > ");
Put_Line(Calculus.GetDay(Year, Month, Date));
Put("Press Q (q) - key for EXIT program or any key for REPEAT: ");
Get(Answer);
exit when (Answer = "Q") or (Answer = "q");
end loop; --Main Loop
exception
when Data_Error =>
null; -- when not integer
when others =>
null; --when xren znat chto
end SCalendar;

<

---------------------
-- File Calculus.ads
---------------------
package Calculus is
subtype AYear is Integer range 1900..2039;
subtype AMonth is Integer range 1..12;
subtype ADate is Integer range 1..31;
-----------------------------------------------------------------------------
procedure Create;
-----------------------------------------------------------------------------
function GetDay(CYear : AYear; CMonth : AMonth; CDate : ADate) return String;
-----------------------------------------------------------------------------
end Calculus;

<

---------------------------------------------
-- Project: Calendar 1900-2039
-- Description: Calculus Day
-- Copyright (c) 2005 by Subj (subj@bk.ru)
-- File: Calculus.adb
-- Programming Language: ADA95
-- 01.03.2005
---------------------------------------------
package body Calculus is
S : String := "UP";
BaseDays : array(1..7) of String(1..2) :=
("MO", "TU", "WE", "TH", "FR", "SA", "SU");
BaseMonths : array(1..7, 1..3) of Integer :=
(((200),(3),(11)),
((201),(8),(0)),
((5),(0),(0)),
((100),(10),(0)),
((101),(4),(7)),
((9),(12),(0)),
((6),(0),(0)));
Years : array(1..25, 1..7) of Integer;
Months : array(1..7, 1..7, 1..3) of Integer;
Dates : array(1..5, 1..7) of Integer;
Days : array(1..7, 1..7) of String(1..2);
Table : array(1900..2039, 1..12, 1..31) of String(1..2);
-----------------------------------------------------------------------------
procedure Create is
--------------------------------------------------------------------------
procedure FillTable is
tempY1 : Integer := 1900;
tempY2,
tempM,
tempDat,
tempDay,
tempT1,
tempT2,
tempT3 : Integer := 0;
--------------------------------------------------------------------------
function SearchLine(YMD, Y, M, D : Integer) return Integer is
R : Integer;
begin
case YMD is
when 1 =>
for i in 1..25 loop
for j in 1..7 loop
if Years(i, j) = Y then
R:=j;
exit;
end if;
end loop;
end loop;
when 2 =>
for i in 1..7 loop
for k in 1..3 loop
if Months(i, Y, k) = M then
R:=i;
exit;
end if;
end loop;
end loop;
when 3 =>
for i in 1..5 loop
for j in 1..7 loop
if Dates(i, j) = D then
R:=j;
exit;
end if;
end loop;
end loop;
when others => R:=0; --It's Unreal, but nado
end case;
return R;
end SearchLine;
--------------------------------------------------------------------------
begin
-- Years
for i in 1..25 loop
for j in 1..7 loop
tempY2 := tempY2+1;
if tempY2 > 4 then
tempY2 := 0;
Years(i, j) := 0;
else
Years(i, j) := tempY1;
tempY1 := tempY1+1;
end if;
end loop;
end loop;
-- Months
for i in 1..7 loop
for j in 1..7 loop
for k in 1..3 loop
tempM := i-1+j;
if tempM > 7 then
tempM := tempM-7;
end if;
Months(i, j, k) := BaseMonths(tempM, k);
end loop;
end loop;
end loop;
-- Dates
for i in 1..5 loop
for j in 1..7 loop
if (i = 1) and (j in 1..4) then
Dates(i,j) := 0;
else
tempDat := tempDat+1;
Dates(i, j) := tempDat;
end if;
end loop;
end loop;
-- Days
for i in 1..7 loop
for j in 1..7 loop
tempDay := i-1+j;
if tempDay > 7 then
tempDay := tempDay-7;
end if;
Days(i, j) := BaseDays(tempDay);
end loop;
end loop;
-- Table
for i in 1900..2039 loop
for j in 1..12 loop
for k in 1..31 loop
tempT1 := j;
if ((i rem 4 = 0) and (i rem 100 /= 0)) or (i rem 400 = 0) then
if tempT1 = 1 then
tempT1 := 101;
elsif tempT1 = 2 then
tempT1 := 201;
end if;
else
if tempT1 = 1 then
tempT1 := 100;
elsif tempT1 = 2 then
tempT1 := 200;
end if;
end if;
tempT2 := SearchLine(1, i, 0, 0);
tempT2 := SearchLine(2, tempT2, tempT1, 0);
tempT2 := 7-tempT2+1;
tempT3 := SearchLine(3, 0, 0, k);
Table(i, j, k) := Days(tempT2, tempT3);
if ((tempT1 = 200) and (k > 28)) or ((tempT1 = 201) and (k > 29)) then
Table(i, j, k) := S;
end if;
if ((j = 4) or (j = 6) or (j = 9) or (j = 11)) and (k > 30) then
Table(i, j, k) := S;
end if;
end loop;
end loop;
end loop;
end FillTable;
--------------------------------------------------------------------------
begin
FillTable;
end Create;
-----------------------------------------------------------------------------
function GetDay(CYear : AYear; CMonth : AMonth; CDate : ADate) return String is
begin
return Table(CYear, CMonth, CDate);
end GetDay;
-----------------------------------------------------------------------------
end Calculus;

Думаю за место Hello world можно будет применять для тестирования.. :)


Название: ADA и QNX
Отправлено: s_kSubj от Апреля 01, 2005, 07:05:27 pm
Кстати, запустив стандартный Solitaire (Games) можно увидеть следующее:
карта Король крести - C. Babbage
Дама крести - Ada Byron
и соответственно портреты ...


Название: ADA и QNX
Отправлено: AG от Апреля 01, 2005, 11:25:57 pm
s_kSubj
карта Король крести - C. Babbage
Дама крести - Ada Byron
и соответственно портреты ...


Да, народ в КУСС шутить изволил... А солитёрчик красивый вышел...


Название: ADA и QNX
Отправлено: Wlad от Июля 15, 2005, 10:58:25 am
Народ!

Каково состояние дел и общий настрой по данной теме?
Реально кто-нибудь выполняет(-нял) проекты на сём соединении (QNX + Ada)? Я имею в виду чего-нибудь по-сложнее хеллоууорлда... :о)


Название: ADA и QNX
Отправлено: Wlad от Июля 18, 2005, 11:51:09 am
Ну что ж, видать - никакого настроя? Всё - "на шесть часов"?


Название: ADA и QNX
Отправлено: s_kSubj от Июля 18, 2005, 03:24:44 pm
А я вот так и не смог импортировать функцию in8 и ей подобные.
Вполне законный вопрос возник, хотя к данной тематике это не имее отношения, казалось бы, но мысля глубже, еще как имеет.
Если я сам напишу некую функцию на С, свою, то как ее импортировать в Ада програму? То есть как организовать исходные файлы, где что прописать, чтобы "Pragma Import" сработал?
Допустим есть файла: f.c, в нем есть функция:
int myf(){
return 5;
}
и хочу, чтобы в Ада программе она работала, примерно так:
with ada.Text_IO;
use ada.Text_IO;
procedure t is
function c_fync return Integer;
pragma import( C, c_fync, "myf" );
i:integer;
begin
i:=c_fync;
ada.Text_IO.Put_Line(integer'image(i));
end t;
Где, что и как нужно доделать/доработать?
Пытался сделать через extern int myf(); , но чтот ни в какую...


Название: ADA и QNX
Отправлено: bbceler от Июля 18, 2005, 07:38:19 pm
Вот пример как импортировать функцию на С в Ада програму.

--- imported_function.c ----
#include <stdio.h>
imported_function ()
{
  printf ("
I am now in the imported function

"(http://qnx.org.ru/components/minibb/img/smilies/wink.gif);
}

--- use_of_import.adb ---
procedure Use_Of_Import is
 procedure Imported_Function;
 pragma Import (C, Imported_Function, imported_function"(http://qnx.org.ru/components/minibb/img/smilies/wink.gif);
begin
 Imported_Function;
end Use_Of_Import;

сначала нада
gcc -c -o imported_function.o imported_function.c
а потом
gnatmake use_of_import -cargs -O2 -largs imported_function.o
и получаем
./use_of_import
I am now in the imported function


Название: ADA и QNX
Отправлено: bbceler от Июля 18, 2005, 09:02:54 pm
А вот состояние дел по данной теме следующие:
на сегодня имеем трее линии компилятора gcc -  gcc 3.4, gcc 4.0 и gcc 4.1.
Последние стабилные версии это gcc 3.4.4, gcc 4.0.1. В линии gcc 4.1 пока нет стабилной версии.
Об gcc 4.0.0 лучше забыть. Я собрал все компиляторы стабилные gnat 3.4.4, gnat 4.0.1 и нестабилный gnat 4.1.
С точки зрения Ады gnat 3.4.4 и следующий gnat 3.4.5 не изменяеться.
gnat 4.0.1 а прежде всего gnat 4.1 имееть много изменений. Гороздо улучшена обработка ошыбок во время компилации.
Вводяться новые языковые конструкции с  Ada 2005. Но имееться определенные трудности связанные с проблемой оптимализации.
И так надо осторожно проверять как будеть вести себе програма если будемь компилировать используя -О2 или -О3.
Программа может вести себя иначе в зависимости от того используем -О0, -О1 или -О2. К стати gnat 4.1 помогаеть обнаруживать
такие опасные места в программе и выдаеть сообшения как их обойти.
Мне удалось тоже скомпилировать ASIS используя gnat 3.4.5, он должен работать тоже с gnat 3.4.4.
Я сегодня или завтра должен положыть ASIS и gnat 4.1 на http://www.ajam.republika.pl. Там можна взять gnat 3.4.4 и gnat 4.0.1.
Ко мне обратились с германии и испании, в связи с использованнем Ады в QNX, к сожалении как обстоить дело на сегодня мне
не известно. А я пока практически занимаюсь только самим компилятором.


Название: ADA и QNX
Отправлено: s_kSubj от Июля 19, 2005, 01:17:17 pm
bbceler
Вот пример как импортировать функцию на С в Ада програму....

Я был близок
Можно в качестве проекта, того что по сложнее хеллоуворлда, написать библиотеку, то есть оболочку к функциям API QNX. Здесь правда важнее шаблон сообразить наверное будет...


Название: ADA и QNX
Отправлено: bbceler от Сентября 26, 2005, 09:04:48 pm
"Вышла новая публичная версия компилятора GNAT: GNAT GPL Edition. Компилятор поддерживает некоторые возможности из грядущего стандарта Ада 2005. В комплекте с компилятором идут новые версии GPS, AWS, PolyORB и другого ПО. Отличительной особенностью данной версии является поставка библиотек под лицензией GPL. Это налагает запрет на компилирование программ под лицензией, отличной от GPL."
Я это взял с сайта http://www.ada-ru.org/ ( чтобы было быстрее ).
Новый компилатор gnat-gpl-2005 базируеть на gcc 3.4.5, но он очень отличаетсья от компилатора gnat 3.4.5 в котором нет вообше
никаких элементов стандарта  Ада 2005. С первого взгляда видно, что gnat 4.1.0 имееть много обшего с gnat-gpl-2005. Достаточно
сказать что в источниках gnat-gpl-2005 нет одного файла и я его нашел в источниках gnat 4.1.0.
Я собрал gnat-gpl-2005 используя сами последние сорсы - gcc-3.4-20050920. Компилятор проходить тесты acats 2.5 с результатом
               === acats tests === ( -O2 )
                === acats Summary ===
   # of expected passes            2318
   # of unexpected failures        4
   *** FAILURES: c352001 c52103x cxb3006 cxb3012
сам gnat 3.4.5 проходить эти тесты без ошибок, так что думаю что надо тшательно просмотреть эти тесты и сравнить библетеки
gnat-gpl-2005 с gnat 4.1.0.  Пока не известно какая будеть стратегия Ada Core в отношени к gnat-gpl-2005.  Изменения будуть доступные
или так как в случае gnat 3.15  надо было ждать три года.
С gnat-gpl-2005 доступне очень интересные программы примеры которые показывають новые возможности языка.
Компилятор gnat-gpl-2005 можно скачать с http://www.ajam.republika.pl а сам gnat-gpl-2005 смотрите на https://libre2.adacore.com/GNAT


Название: ADA и QNX
Отправлено: bbceler от Марта 27, 2006, 12:20:06 am
Привет всем.
На сегодня имеем следуюшие компилаторы gnat для QNX 6.3.
1. gnat-GPL2005 основан на gcc3.4.5 или gcc3.4.6 - gnat3.4.5/gnat3.4.6.
     К стати кажется что на gcc3.4.6 окончилась линия gcc3.4*.
2. gnat4.0.3 - эта версия практически не поддерживаеть ada 2005
3. gnat4.1.0 - эта версия очень похожа на gnat-GPL2005 но во первых
    gnat4.1.0 проходить тесты acats но только с ключом -O0. Но если взять -O2 или -O3
    то некоторые тесты не проходят. Тоже самое происходить с gnat4.1.1.
    Этого нет с gnat-GPL2005 который проходить тесты acats с -O3.
    Во вторых с gnat-GPL2005 есть много примеров относящихся к новому стандарту
    ada 2005.  gnat3.4.5/gnat3.4.6 компилируеть все эти примеры, а gnat4.1.0 и gnat4.1.1
    нет.
4. gnat4.2.0 - к сожалени у меня эсть только одна версия которую удалось скомпилировать.
    Похожие проблемы были с gnat4.1 - не удается пройти вторую стадию постройки
    компилятора.
Тепер компилаторы для QNX 6.3 доступны под http://www.ajam.org.pl


Название: ADA и QNX
Отправлено: bbceler от Марта 27, 2006, 12:38:17 am
И еще одно. Теперь gnat3.4.6 и gnat4.1.0 работають с addr2line, gprof и gnatmem.
Эсли хотите использовать gdb, то лучше вместо -g использовать -gstabs.


Название: ADA и QNX
Отправлено: bbceler от Июля 10, 2006, 02:58:55 pm
Новая публичная версия компилятора GNAT: GNAT GPL 2006 уже доступна на
сайте http://www.ajam.org.pl/ - gnat-GPL2006-x86-qnx6.3.tar.bz2.
Там я поместил тоже новый gdb6.4-GnatGPL2006-qnx6.3.
Он даеть возможность вести debugging задач языка ада.
И думаю очень важно что тепер компилятор gcc даеть правилную информацию
для gdb. К примеру так выглядить работа с дебаггером
==========================================================
 prg4.adb
......................................
WITH Ada.Text_IO;
PROCEDURE Start_Buttons IS
------------------------------------------------------------------------
--| Show the declaration of a simple task type and three
--| variables of that type. The tasks use DELAYs to cooperate.
--| "Start button" entries are used to to control starting order.
--| Author: Michael B. Feldman, The George Washington University
--| Last Modified: December 1995                                    
------------------------------------------------------------------------
  TASK TYPE SimpleTask (Message: Character; HowMany: Positive) IS
    -- This specification provides a "start button" entry.
       ENTRY StartRunning;
  END SimpleTask;

  TASK BODY SimpleTask IS

  BEGIN -- SimpleTask
        -- The task will "block" at the ACCEPT, waiting for the "button"
        -- to be "pushed" (called from another task, Main in this case).
       ACCEPT StartRunning;
       FOR Count IN 1..HowMany LOOP
             Ada.Text_IO.Put(Item => "Hello from Task " & Message);
             Ada.Text_IO.New_Line;
             DELAY 0.1;            -- lets another task have the CPU
   END LOOP;
  END SimpleTask;  

  -- Now we declare three variables of the type
  Task_A: SimpleTask(Message => 'A', HowMany => 5);
  Task_B: SimpleTask(Message => 'B', HowMany => 7);
  Task_C: SimpleTask(Message => 'C', HowMany => 4);

BEGIN -- Start_Buttons
-- Tasks will all start executing as soon as control
-- reaches this point, but each will block on its ACCEPT
-- until the entry is called. In this way we control the starting
-- order of the tasks.
  Task_B.StartRunning;
  Task_A.StartRunning;
  Task_C.StartRunning;
END Start_Buttons;
...........................................
#gnatmake -g prg4
#gdb prg4

GNU gdb 6.4 for GNAT Pro 2006 (20060522)
Copyright 2005 Free Software Foundation, Inc.
Ada Core Technologies version of GDB for GNAT Professional
GDB is free software, covered by the GNU General Public License, and you are
welcome to change it and/or distribute copies of it under certain conditions.
This GDB was configured as "i386-pc-nto-qnx6.3.0"...
(gdb) start
Breakpoint 1 at 0x80517df: file prg4.adb, line 2.
Starting program: /src/Temp/prg4
start_buttons () at prg4.adb:2
2   PROCEDURE Start_Buttons IS
(gdb) info tasks
  ID       TID P-ID Pri State                  Name
  1   808f020    0  31 Runnable               main_task
(gdb) info threads
  1 process 1921107  start_buttons () at prg4.adb:2
(gdb) l
2   PROCEDURE Start_Buttons IS
3   ------------------------------------------------------------------------
4   --| Show the declaration of a simple task type and three
5   --| variables of that type. The tasks use DELAYs to cooperate.
6   --| "Start button" entries are used to to control starting order.
7   --| Author: Michael B. Feldman, The George Washington University
8   --| Last Modified: December 1995                                    
9   ------------------------------------------------------------------------
10   
11     TASK TYPE SimpleTask (Message: Character; HowMany: Positive) IS
(gdb) n
11     TASK TYPE SimpleTask (Message: Character; HowMany: Positive) IS
(gdb)
18     TASK BODY SimpleTask IS
(gdb)
35     Task_A: SimpleTask(Message => 'A', HowMany => 5);
(gdb)
36     Task_B: SimpleTask(Message => 'B', HowMany => 7);
(gdb)
37     Task_C: SimpleTask(Message => 'C', HowMany => 4);
(gdb)
2   PROCEDURE Start_Buttons IS
(gdb)
46     Task_B.StartRunning;
(gdb) info threads
  4 process 1921107  0xb032e9f9 in SyncCondvarWait_r ()
   from /usr/qnx630/target/qnx6/x86/lib/libc.so.2
  3 process 1921107  0xb032e9f9 in SyncCondvarWait_r ()
   from /usr/qnx630/target/qnx6/x86/lib/libc.so.2
  2 process 1921107  0xb032e9f9 in SyncCondvarWait_r ()
   from /usr/qnx630/target/qnx6/x86/lib/libc.so.2
  1 process 1921107  start_buttons () at prg4.adb:46
(gdb) info tasks
  ID       TID P-ID Pri State                  Name
  1   808f020    0  31 Runnable               main_task
  2   808e6f8    1  31 Accept Statement       task_a
  3   808b7c0    1  31 Accept Statement       task_b
  4   808b0a0    1  31 Accept Statement       task_c
(gdb) n
47     Task_A.StartRunning;
(gdb) info tasks
  ID       TID P-ID Pri State                  Name
  1   808f020    0  31 Runnable               main_task
  2   808e6f8    1  31 Accept Statement       task_a
  3   808b7c0    1  31 Runnable               task_b
  4   808b0a0    1  31 Accept Statement       task_c
(gdb) info hreads
  4 process 1921107  0xb032e9f9 in SyncCondvarWait_r ()
   from /usr/qnx630/target/qnx6/x86/lib/libc.so.2
  3 process 1921107  0xb031ade2 in pthread_mutex_unlock ()
   from /usr/qnx630/target/qnx6/x86/lib/libc.so.2
  2 process 1921107  0xb032e9f9 in SyncCondvarWait_r ()
   from /usr/qnx630/target/qnx6/x86/lib/libc.so.2
  1 process 1921107  start_buttons () at prg4.adb:47
(gdb) n
48     Task_C.StartRunning;
(gdb)
50   END Start_Buttons;
(gdb)
Hello from Task A
Hello from Task C
Hello from Task B
.................
Hello from Task A
Hello from Task B
Hello from Task B
Hello from Task B
main (argc=1, argv=(system.address) 0x8047a0c, envp=(system.address) 0x8047a14)
    at b~prg4.adb:199
199         Do_Finalize;
(gdb) info threads
  1 process 1921107  main (argc=1, argv=(system.address) 0x8047a0c,
    envp=(system.address) 0x8047a14) at b~prg4.adb:199
(gdb) info tasks
  ID       TID P-ID Pri State                  Name
  1   808f020    0  31 Runnable               main_task
(gdb) n
200         Finalize;
(gdb)
201         return (gnat_exit_status);
(gdb)
.................................
Program exited normally.
(gdb) q


Название: ADA и QNX
Отправлено: mike от Июля 10, 2006, 03:04:42 pm
bbceler ваши сборки из любви к искусству или для реальных проектов?


Название: ADA и QNX
Отправлено: olej от Июля 10, 2006, 09:54:54 pm
mike
bbceler ваши сборки из любви к искусству или для реальных проектов?

А какая, собственно, разница...
Будь у меня некоторая уйма своюодного времени , чтобы засесть за Ada, и перераскрутить на нём все заделы, которые у меня есть на C/C++ ... да не задумываясь сделал бы, беря во внимание те плюсы в "надёжностном" программировании обещает Ada (это - IMHO)!
bbceler делает большое дело, хотя бы поддерживая сборки Ada ... в адекватном состоянии другим, более распространённым, платформам: спасибо большое ему за это.


Название: ADA и QNX
Отправлено: bbceler от Марта 16, 2007, 03:14:25 pm
Привет всем в новым году - я пишу первый раз в 2007 году.
На http://www.ajam.org.pl/ я выложил новые версии gcc - gcc 4.1.2, gcc 4.2.0, gcc 4.3.0 и gnat4.1.2, gnat4.2.0, gnat4.3.0.
Я решил делать тестироване на уровне -O3 ( до сих пор было -O2).
Оказываеться, что только gnat4.2.0 дает очень харошие результаты -
        === acats Summary ===   <= -O2 and -O3
         # of expected passes            2311
         # of unexpected failures        1
         *** FAILURES:   c380004
gnat4.1.2 и gnat4.1.3  дають 11 ошибочных тестов. gnat4.3.0 еще очень експериментальный.
Наканец то я нашол время и портировал GTK на QNX . И смог скомпилировать GtkAda-2.10.0.


Название: ADA и QNX
Отправлено: bbceler от Мая 15, 2007, 03:45:15 pm
Появилась новая версия gnat - GNAT GPL 2007.
Тепер gnat от Ada Core основан на gcc 4.x
Я выложил новую версию на http://www.ajam.org.pl/  
Как всегда я провёл тесты. Очен интересно выгладят тесты по скорости выполнения. Эта версия опережаеть все предыдуше и это касаеться всех версии тй gnat 4.2 и gnat 4.3.


Название: ADA и QNX
Отправлено: olej от Мая 15, 2007, 03:50:51 pm
bbceler
Появилась новая версия gnat - GNAT GPL 2007.

bbceler, а можно вас попросить дублировать такие новости ещё и сюда:
http://www.qnxclub.net/modules.php?name=Forums&file=viewforum&f=8
?


Название: ADA и QNX
Отправлено: bbceler от Мая 18, 2007, 03:52:59 am
Каждый раз я использую для измерения скорости выполнения
 Dhrystone Benchmark, Version 2.1 (Language: Ada).
Каждый тест делаеть 10 000 000 пробегов. Результат это средная из 5 тестов.
Вот результаты для всех компиляторов gnat  начиная от версии 3.4.6 по 4.3.
1   gnatmake -O3 -fomit-frame-pointer -o dhry_opt1_gcc main
2   gnatmake -O3 -fomit-frame-pointer -gnatp -o dhry_opt2_gcc main
3   gnatmake -gnatn -O3 -fomit-frame-pointer -gnatp -o dhry_opt3_gcc main
4   gnatmake -o dhry_std_gcc main
5   gnatmake -O2 -fomit-frame-pointer -o dhry_opt4_gcc main

                 3.4.6               4.1.2                 4.1.3              GPL-2007          4.2.0                 4.3.0
=================================================================================== ===  
1 => 3.073929616  2.819368570  2.817168907  2.602201802  2.851563644  2.829966948
2 => 2.829966948  2.325444152  2.428428393  2.178866582  2.324044366  2.382035492
3 => 2.832766520  2.326443999  2.428428393  2.177266827  2.323644428  2.385035033
4 => 6.901343932  7.241091943  7.269087659  6.603189557  6.570594545  6.569394728
5 =>                           2.957147487  2.877159727  3.175714041  2.828967101

Обратите внимание на разницу между 4.1.3 а GPL-2007. GPL-2007 основан на gcc4.1.3.
Но gnat 4.1.3 силно отличаеться от gnat GPL-2007  и может из за этого такой результат.
Я еще не провёл проверки для офицяльной версии gnat 4.2.0 каторая только что появилась.


Название: ADA и QNX
Отправлено: bbceler от Мая 18, 2007, 04:01:33 am
Извените но эт что я послал не выгладить так как должно.
Я не нашол возможности просмотра сообшеня перед высылкой.
5 линия касаеться только версии 4.1.3, GPL-2007, 4.2.0 и 4.3.0


Название: ADA и QNX
Отправлено: bbceler от Июля 26, 2007, 03:27:30 pm
Появилась стабильная версия gnat4.2.1.
С точки зрения ады то изменений по сравнени с версей 4.2.0 немного.
И еще одна новость. Оказываеться что есть не только GtkAda,
но и сушестьвуеть QTAda. Я скомпилировал последнию версию. Проект поко думаю в начальней стади, но работаеть.


Название: ADA и QNX
Отправлено: bbceler от Февраля 25, 2008, 03:20:34 am
Имеем новые версии gnat : gnat4.2.3, gnat4.3.0 и gnat4.4.0.
Версии 4.3 а 4.4 с точки зрения языка ada пока одинаковы. Отличаються с точки зрения внутренности gcc.
gnat4.2.3 работаеть стабильно. Без проблем можна скомпилировать самую последную версиу GtkAda. Но эта версия не вполни подделживает аду 2005. Так как я уже наверно писал работа над версей gnat4.2.х практически прекращена. Работы ведутся в 4.3 и тепер думаю над 4.4.
Но все таки я встретил проблему каторая выступаеть при компиляции с исползованием gnat4.3.0 и gnat4.4.0 Вопрос касаеться програм с использованием задачи. И так программа:
main.adb
=======================================
with Ada.Text_IO; use Ada.Text_IO;

procedure Main is

  task Task1 is
    entry Stop;
  end Task1;
  task body Task1 is
    begin
      accept Stop;
    end Task1;

  begin
    Put_Line ( "Please wait..." );
    Delay 3.0;
    abort Task1;
    Put_Line ( "Task Task1 Aborted!" );
  end main;
========================================
main получаеть:
# ./main
Please wait...
Task Task1 Aborted!

Execution terminated by abort of environment task
Press any key to continue...

main2.adb
========================================
with Ada.Text_IO; use Ada.Text_IO;

procedure Main2 is

  task Task1 is
    entry Stop;
  end Task1;
  task body Task1 is
    begin
      accept Stop;
    end Task1;

  begin
    Put_Line ( "Please wait..." );
    Delay 3.0;
    Task1.Stop;
    Put_Line ( "Task Task1 Aborted!" );
  end main2;
========================================
main2 даеть:
# ./main2
Please wait...
Task Task1 Aborted!
Press any key to continue...
..............................................
Я пока нашол что комуникат Execution terminated by abort of environment task описан в a-elchha.adb
begin
   --  Do not execute any task termination code when shutting down the system.
   --  The Adafinal procedure would execute the task termination routine for
   --  normal termination, but we have already executed the task termination
   --  procedure because of an unhandled exception.

   System.Soft_Links.Task_Termination_Handler :=
     System.Soft_Links.Task_Termination_NT'Access;

   --  Let's shutdown the runtime now. The rest of the procedure needs to be
   --  careful not to use anything that would require runtime support. In
   --  particular, functions returning strings are banned since the sec stack
   --  is no longer functional. This is particularly important to note for the
   --  Exception_Information output. We used to allow the tailored version to
   --  show up here, which turned out to be a bad idea as it might involve a
   --  traceback decorator the length of which we don't control. Potentially
   --  heavy primary/secondary stack use or dynamic allocations right before
   --  this point are not welcome, moving the output before the finalization
   --  raises order of outputs concerns, and decorators are intended to only
   --  be used with exception traces, which should have been issued already.

   System.Standard_Library.Adafinal;

   --  Check for special case of raising _ABORT_SIGNAL, which is not
   --  really an exception at all. We recognize this by the fact that
   --  it is the only exception whose name starts with underscore.

   if To_Ptr (Except.Id.Full_Name) (1) = '_' then
      To_Stderr (Nline);
      To_Stderr ("Execution terminated by abort of environment task"(http://qnx.org.ru/components/minibb/img/smilies/wink.gif);
      To_Stderr (Nline);
.....................................................
Я продолжаю работу над проблемой. Можеть у каго то возникнуть какие то идеи ?


Название: ADA и QNX
Отправлено: bbceler от Июня 25, 2008, 03:35:43 am
Прошло доволно много времени от последнего моего поста и я все таки немножко удивляусь что количество просмотров провисило 10000. Интересно есть вообще кто то что кроме просмотра темы исползуеть аду в среде QNX.
Я нашел решение проблемы о которой я писал в предыдушим посте.
Появилась новая версия gnat - GNAT GPL 2008 от Ada Core.
Она так как и предыдушаGPL 2007 основана на gcc 4.1.x
Я выложил новую версию на http://www.ajam.org.pl/
С новой версей появились обновления практически всего связанного с адой. Интересно выглядить новый gdb основанный на gdb 6.8. Но с ним пока есть проблема потому что его можна скомпилировать но он не совсем правильно работаеть в QNX. Первый раз Ada Core представила возможность работы с компилятором языка ада в среде Eclipse. Но на сщет того я не могу ничего сказать так как я этим не занимаюсь. Вообще не использую IDE. Можеть и это сработаеть в QNX. Эсли бы кто то нашолся и хотел это проверить, то могу помочь.
Я все таки думал, что новый gnat GPL будеть сделан на основе gcc4.2 или gcc4.3. Но они остаються на gcc4.1.
Тем более что в gcc4.4 практически есть ета новая верся ады. Получаеться интересная картна. Если присматреться новым версям Linux, то можна заметить, что начинають брать за основу gcc4.3. Почему так получаеться ?
Думаю ответь простой. Теперь компютеры строять на основе новых микропроцессоров. Они гороздо лучше чем предыдущие модели. Чтобы можна было вполни воспользоваться ними надо иметь компиляторы которые это умеють делать. Я скоро представю в другой теме какие возможности дають новые версии gcc по сравнени со старшими в QNX.


Название: ADA и QNX
Отправлено: bbceler от Августа 19, 2008, 03:08:00 pm
Это немножко не по теме но я наткнулся на ответ почему
чясто QNX проигрываеть с другими Real-Time Operating System - RTOS.
В
EVALUATION OF REAL-TIME OPERATING
SYSTEMS FOR SAFETY-CRITICAL SYSTEMS  
Marcus Hedlund  
Fredrik Aronson
 
EXAMENSARBETE 2002
ELEKTRONIK

есть анализ какой RTOS будеть исползован для Saab Avionics
Вопрос касался safety critical products for military applications. А точнее выбора RTOS и програмного обеспечения для военной авяци - думаю cамалеть Gripen.
Был тоже взять на анализ QNX 6* но проиграл потому что:
QNX seems able to provide a very good RTOS. It was involved in a comparison test, with
VxWorks and Windows CE. It outperformed both of these and has got a good reputation
among people using it. Unfortunately, the vendor could not offer an Ada compiler or a DO-178B certification kit. Due to this, QNX is not able to meet the demands required by Saab Avionics, at this time.
================================
На счет DO-178B я не знаю, но почему QNX так относится к Ada до сих пор не понятно


Название: ADA и QNX
Отправлено: Wlad от Августа 19, 2008, 04:26:24 pm
Ох, Богдан, на самом деле, всё это - фигня собачья.
Там, где военные разработки и близость к госкорытцу, всякоразные совместимости никого не волнуют...
Тем более, что для большинства чиновников от участка военного ведомства, курирующего разработческие (НИОКР) проекты, всё это - сплошная абракадабра. Побеждает тот, кто по-фигуристие сложит фразочки из неосмысливаемых слов и отработает откаты... Так работают ВЕЗДЕ. Просто в какие-то отрезки времени в той или иной стране, интересы пильщиков бюджета вдруг совпадают с интересами (или покупаются) какими-то более удачливыми претендентами на кусочек национального достояния... ;о)
Любой "стандарт" редко получается путём "собралась куча умных мужиков и напрягла мозги...". Обычно новый стандарт поручается разрабатывать тому, кто создал что-то дышащее. Разрабатывалось это - как везде (посмотреть историю тех же PCI или USB)... По крайней мере в военных ведомствах всех мне известных "плясали" от имеющегося изделия...

Да ещё не известно кто и как всё это "испытывал"...
Ну никогда не поверю, что система с монолитным ядром как-то по надёжности может обойти системы, построенные на микроядре... Это априори и в принципе не возможно. Ну, или возможно, но при диком мозговом напряге...

Действительно факт, заслуживающий удивления, так это крайнее неприятие Ады в QNX. Продукт (язык), дающий дополнительные преимущества при построении надёжных систем, ничего "лишнего" или "перегрузочного" в лучшей ОСи не добавил бы! Тока ещё лучше бы готовые продукты стали...


Название: Re: ADA и QNX
Отправлено: bbceler от Февраля 22, 2009, 02:45:50 pm
Ррыближаеться выход оффицяльной версии gcc-4.4.0. А в ней gnat-4.4.0.
Я только что выложил gcc4.4.0-x86-qnx6.4.0.tar.bz2 на маем сайте www.ajam.org.pl
Он основан на gcc-4.4-20090220. gnat-4.4.0 ведеть себе очень хорошо.
gcc-4.4-20090220

                === acats Summary ===
# of expected passes            2314
# of unexpected failures        1
*** FAILURES: c380004
При чем скорость выполнения тестов возросла во много раз.
gcc-4.4-20090206 выполнение тестов acats 3 часа 20 мин 57 сек
gcc-4.4-20090213 выполнение тестов acats 32 мин 45 сек
gcc-4.4-20090220 выполнение тестов acats 32 мин 53 сек


Название: Re: ADA и QNX
Отправлено: bbceler от Апреля 14, 2009, 03:00:32 pm
Оффицяльной версии gcc-4.4.0 еще нету, а уже появился gcc-4.5.0. Они как то незаметно перешли на эту новую версию. И опять оказалось что с точки зрения языка ада все силы уже давно переброшены на версию 4.5.х. За эти гдето 4 недели от выхода первой доступной версии 4.5 в сорсах многие изменения для ады. Сам компилятор ведеть себя очень хорошо несмотря на то что
он считаеться эхперименталным. Так что я выбросил со свего сайта gcc4.4.0-x86-qnx6.4.0.tar.bz2
и выложил новый gcc-4.5.0 и есть эстестьвенно ноый gnat-4.5.0


Название: Re: ADA и QNX
Отправлено: bbceler от Мая 30, 2009, 02:32:29 am
Появилась новая версия gnat - GNAT GPL 2009 от Ada Core.
Предыдушые версии GPL 2007 и  GPL 2008 были основаны на gcc 4.1.x
Новая GPL 2009 основана на gcc 4.3.4. Точнее они использують 4.3.4 с многими измененниями.
В принципе эти изменения уже находяться в ветке gcc 4.4 и gcc 4.5.
Немного это странновато но тяжело что то сказать. Ada Core выкладываеть сорсы новой версии
и пока не будеть следующей нет возможности смотреть что они делають по дороге к новой версии.
Кроме самого компилятора эсть много другого:
GNAT GPL 2009 Edition Now Available!

We are pleased to announce the release of GNAT GPL 2009, the Ada Toolset for Academic users and FLOSS developers. It introduces many new features including:
Ability to generate byte code for the JVM
Ability to generate byte code for the .NET Framework
Addition of the Ada-Java Interfacing Suite (AJIS) that enables native Ada code to be called from Java.
Availability on the Mac OS X (64 bit) platform
Availability for the LEGO MINDSTORMS robotic building system (coming soon).
Automatic C/C++ binding generators
Addition of the GNAT Component Collection (GNATcoll) providing new APIs that can be extended by the user community.
GNAT GPL 2009 comes with version 4.3.1 of the GNAT Programming Studio IDE and GNATbench 2.3, the GNAT plug-in for Eclipse.
It is available for the GNU Linux, Mac OS X (64 bit), Mindstorms NXT, .NET, JVM and Windows platforms.
GNAT GPL 2009 will be available from the “Download” section on the Libre website.

AdaCore is dedicated to developing the finest tools available for software development with Ada. The GNAT GPL Edition is the Ada 2005 development environment for Free Software development and the GNAT Academic Program for use in Academia. GNAT Pro for comercial/industrial development.
The GNAT GPL Edition consists of the following technologies:
The GNAT Ada 2005 compilation system
Various tools such as heap monitoring, unit testing, program browsing, etc.
Ada 2005 and GNAT libraries (Containers, pattern matching, sorting, etc.)
The GNAT Programming Studio (GPS) visual IDE

Related technologies are also available for download alongside the GNAT GPL Edition:
AWS: to web-enable Ada applications (Ada Web Server)
XML/Ada: to process XML streams in Ada applications
ASIS: to develop tools for Ada software
GtkAda: to develop modern native GUIs in Ada
GLADE: to build distributed systems using Ada 95 DSA
PolyORB: to build distributed systems using CORBA and Ada
===============================================
Это из https://libre.adacore.com/libre/tools/gnat-gpl-edition/
Эстественно что не все это доступно в QNX но есть новые вещи которые возможно будуть
работать. Поко я занимаюсь самим компилятором


Название: Re: ADA и QNX
Отправлено: bbceler от Января 14, 2010, 01:19:44 am
Во первых всем всех благ в Новом Году.
И так видно, что интерес к языку ada в QNX не очень велик.
Я тоже занялся другими темами.
Но вообще то GNAT GPL 2009 уже немножко устарел. gnat от  gcc 4.4.2 в принципе стоить.
В новом gcc 4.5.0 появились новые проблемы с компилятором ады а сам gcc 4.5.0 не очень готов.
К сожалению довольно часто не удаеться довести до конца компиляцию прежде всего систем на языке c++. Так что я пока использую только gcc 4.4.2.
Но я нашол думаю очень инетересную информацию о том что создали студенты вместе с Prof. Lars Asplundem:
Learn how Prof. Lars Asplund, and a team of 21 students created Dasher, a human sized robot designed to run using its own locomotion and balance. Behind it all is AdaCore’s GNAT Ada toolsuite.
http://electronicdesign.com/content.aspx?topic=science_fiction_meets_science_fact_in_today_s_robot_research&catpath=embedded-software
Так что в языке ada можно много делать.


Название: Re: ADA и QNX
Отправлено: bbceler от Декабря 31, 2010, 12:16:46 pm
Хотья этого не видно то все таки Ada все время развиваетсья чего не можно сказать про QNX.
Эсть новая GNAT GPL 2010. В gcc эсть уже стабильная версия 4.5.2 в которой gnat-4.5.2 работаеть в QNX хорошо. У мения только появились проблемы с построеннием компилятора gnat-4.6.0.
Новый gcc4.6.0 к стати выглядить очень интересно. В нем эсть очень много изменений и для меня прежде всего важны изменения в objc который почти полностью поддерживает Objective-C 2.0.
Поэтому с моей точки зрения clang уже не необходимый в QNX.
Так как это последний день года то хочу всем Вам передать самые лучшие пожелания прежде вего здоровия и много денег. Чтобы тот новый год не был хуже чем тот уходящий 2010 который был для моей страны и лично для меня очень тяжолый.
Всех благ и до встречи на форуме можеть не за год  :)
 


Название: Re: ADA и QNX
Отправлено: bbceler от Июня 25, 2011, 02:17:52 am
Прошло пол года и эсть новый GNAT GPL 2011. Он основан на gcc4.5.3.
В сам gcc AdaCore Developer внесли много изменений в том числе часть этих изменений взяты
из gcc4.6 и gcc4.7. Вес компилятор я выложил на моим сайте www.ajam.org.pl.
Если кто то захочеть поробовать как работаеть GNAT GPL 2011 или gcc4.5.3/g++4.5.3
в QNX 5.6.0 то надо помнить чтобы скачять необходимые библетеки gmp, mpfr, mpc, ppl.
Сам компилятор GNAT GPL 2011 работаеть с тестовыми программами очень хорошо.
Он на самом деле кажеться гороздо лучше чем прежняя версия.
Эсли будуть в QNX работать хорошо другие компоненты GPL 2011 такие как GtkAda, GPS, PolyORB ...
то можеть следующий ответь в этой теме не появиться где то через пол года.


Название: Re: ADA и QNX
Отправлено: bbceler от Июля 12, 2011, 10:08:08 pm
Тепер имеемь еще один компилятор gnat-4.6.1, так как наконец то на Foundry27
появилась версия 4.6.1 компилятора gcc. Новый компилятор я выложил на www.ajam.org.pl
Там тоже есть компиляторы c++, objc, objc++ и fortran


Название: Re: ADA и QNX
Отправлено: bbceler от Июля 27, 2011, 12:17:54 pm
I. Wsiem kotorych interesuiet OO programming w ada priedlagaiu zajti na:
http://www.adacore.com/2011/04/20/call-for-review-high-integrity-oo-programming-in-ada/
tam wy najdiotie oczen haroszyj material kak programmirowat OO w gnat.
II. GtkAda - sztoby skompilirowat GtkAda w QNX ia byl wynużdion zaniatsia
powtorno glib,gtk++ i Xphoton. I tak ia imieiu rabotaiuszyie w QNX 6.5 glib-2.28.8,
gtk+-2.24.5 i gtk+-3.0.11. W Xphoton ia naszol swoiu aszybku i tiepier on rabotaiet gorozdo luczsze. Intieresno, szto primiery s gtk+-3.0.11 rabotaiut w QNX luczsze czem
primiery s gtk+-2.24.5. W rodie tak dolżno i byt. Kompilaciu GtkAda ia dielal ispolzuia gnat-4.6.1. Primiery rabotaiut no w celom iest mnogo problem prieżdie wsiewo kasaiuszychsia Xphoton.
poetamu ia niczgo nie wylozżyl na moj sajt.


Название: Re: ADA и QNX
Отправлено: bbceler от Июня 10, 2012, 05:44:16 pm
Новый компилятор gnat-4.7.0 я выложил на www.ajamweb.pl (http://www.ajamweb.pl) и www.ajam.org.pl (http://www.ajam.org.pl).
Там тоже есть компиляторы c++, objc, objc++ и fortran