OberonCore
https://forum.oberoncore.ru/

Создание исполняемых файлов.
https://forum.oberoncore.ru/viewtopic.php?f=81&t=526
Страница 2 из 4

Автор:  PGR [ Вторник, 26 Июнь, 2007 10:58 ]
Заголовок сообщения: 

Ярослав Романченко писал(а):
А скрыть главное окно BB можно? Что-бы было видно только одно моё окно. т.е. реализовать SDI приложение а не MDI...

Запуск BB с ключом /NOAPPWIN в командной строке.
Программно можно скрыть главное окно
Код:
res := WinApi.ShowWindow(WinApi.FindWindow("Oberon App", NIL), WinApi.SW_HIDE);

А вот нормальное SDI приложение со своим меню создать не получится, только диалоговые окна :(

Автор:  Александр Ильин [ Вторник, 26 Июнь, 2007 11:13 ]
Заголовок сообщения: 

PGR писал(а):
Запуск BB с ключом /NOAPPWIN в командной строке.
Программно можно скрыть главное окно
Код:
res := WinApi.ShowWindow(WinApi.FindWindow("Oberon App", NIL), WinApi.SW_HIDE);

FindWindow? Есть же HostWindows.main-: WinApi.HANDLE;

Автор:  kreol [ Вторник, 26 Июнь, 2007 20:43 ]
Заголовок сообщения: 

Илья Ермаков писал(а):
Kernel - это то, что называют рантаймом, или "поддержкой времени выполнения" для языка программирования...

Спасибо, вполне исчерпывающий ответ. Кажется, дело за практикой :)
Александр Ильин писал(а):
Тогда, возможно, вы также захотите услышать, что без использования Kernel на чистом WinApi exe-шник будет от 3.5Кб. : )

Ого! Приятно удивлён =) Также спасибо.

Автор:  PGR [ Вторник, 26 Июнь, 2007 22:33 ]
Заголовок сообщения: 

kreol писал(а):
Александр Ильин писал(а):
Тогда, возможно, вы также захотите услышать, что без использования Kernel на чистом WinApi exe-шник будет от 3.5Кб. : )

Ого! Приятно удивлён =) Также спасибо.

Пример GUI-приложения на чистом WinApi есть в документации на DevLinker.

Автор:  Илья Ермаков [ Вторник, 26 Июнь, 2007 22:50 ]
Заголовок сообщения: 

В принципе, если приспичит (не знаю - зачем) откзаться от Kernel, то можно использовать [untagged]-записи (см. раздел документации "Платформенно-зависимые особенности") и WInApi.HeapAlloc/HeapFree.

Автор:  PGR [ Вторник, 26 Июнь, 2007 23:36 ]
Заголовок сообщения: 

Мне кажется, что для таких задач вообще лучше использовать XDS Modula-2/Oberon-2...

Автор:  Ярослав Романченко [ Вторник, 26 Июнь, 2007 23:39 ]
Заголовок сообщения: 

PGR писал(а):
А вот нормальное SDI приложение со своим меню создать не получится, только диалоговые окна :(

Спасибо!
Для начала может и диалогов хватит... :)

Автор:  kreol [ Среда, 27 Июнь, 2007 02:02 ]
Заголовок сообщения: 

PGR писал(а):
Пример GUI-приложения на чистом WinApi есть в документации на DevLinker.

Да, я видел, но пока ещё не дорос до такого WinApi :roll:

Автор:  Александр Ильин [ Среда, 27 Июнь, 2007 10:23 ]
Заголовок сообщения: 

PGR писал(а):
Мне кажется, что для таких задач вообще лучше использовать XDS Modula-2/Oberon-2...

Там exe-шник от 40Кб.

Автор:  PGR [ Среда, 27 Июнь, 2007 10:28 ]
Заголовок сообщения: 

Александр Ильин писал(а):
PGR писал(а):
Мне кажется, что для таких задач вообще лучше использовать XDS Modula-2/Oberon-2...

Там exe-шник от 19Кб.

С таким подходом -- только ассемблер :)

Автор:  Евгений Темиргалеев [ Среда, 27 Июнь, 2007 10:31 ]
Заголовок сообщения: 

PGR писал(а):
С таким подходом -- только ассемблер :)
Ага, в виде кодовых процедур на BB. :D

Автор:  Александр Ильин [ Среда, 27 Июнь, 2007 10:35 ]
Заголовок сообщения: 

Я ошибся: в XDS от 40Кб exe-шник (39 936). Наверное потому, что линковка ядра не отключается.

ЗЫЖ Блин, у всех уже фотки в аватарах. Вот подстригусь - тогда тоже сфотаюсь...

Автор:  PGR [ Среда, 27 Июнь, 2007 10:38 ]
Заголовок сообщения: 

Евгений Темиргалеев писал(а):
PGR писал(а):
С таким подходом -- только ассемблер :)
Ага, в виде кодовых процедур на BB. :D

Ещё один пункт в список улучшений компилятора -- встроить нормальный ассемблер, как в ETH Oberon. :)

Автор:  Сергей Губанов [ Среда, 27 Июнь, 2007 11:56 ]
Заголовок сообщения: 

PGR писал(а):
нормальный ассемблер

А нормальный, это x86 что ли? :D

Автор:  Евгений Темиргалеев [ Среда, 27 Июнь, 2007 12:01 ]
Заголовок сообщения: 

Сергей Губанов писал(а):
PGR писал(а):
нормальный ассемблер

А нормальный, это x86 что ли? :D
А какой синтаксис, Intel или AT&T (мне последний нравится больше - более строгий)? :) По поводу встроенного ассемблера - я придерживаюсь мнения - оставить как есть. В виде кодовых процедур как в Math. А то встрой ассемблер и все начнут на нем писать :)

Автор:  PGR [ Среда, 27 Июнь, 2007 19:38 ]
Заголовок сообщения: 

Сергей Губанов писал(а):
PGR писал(а):
нормальный ассемблер

А нормальный, это x86 что ли? :D

А что, BlackBox уже на других архитектурах работает? :wink:

Автор:  PGR [ Среда, 27 Июнь, 2007 19:39 ]
Заголовок сообщения: 

Евгений Темиргалеев писал(а):
По поводу встроенного ассемблера - я придерживаюсь мнения - оставить как есть. В виде кодовых процедур как в Math. А то встрой ассемблер и все начнут на нем писать :)

Ну, в Delphi вот есть встроенный ассемблер и что, многие на нем пишут?
А если что-то и надо написать, неужели в машинных кодах удобнее?

Автор:  Иван Горячев [ Четверг, 28 Июнь, 2007 01:04 ]
Заголовок сообщения: 

PGR писал(а):
А если что-то и надо написать, неужели в машинных кодах удобнее?

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

Автор:  kreol [ Четверг, 28 Июнь, 2007 01:57 ]
Заголовок сообщения: 

Ivor писал(а):
PGR писал(а):
А если что-то и надо написать, неужели в машинных кодах удобнее?

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

А IL-ассемблерные? =)

Автор:  Иван Горячев [ Четверг, 28 Июнь, 2007 02:15 ]
Заголовок сообщения: 

kreol писал(а):
А IL-ассемблерные? =)

А есть разница?

Страница 2 из 4 Часовой пояс: UTC + 3 часа
Powered by phpBB® Forum Software © phpBB Group
https://www.phpbb.com/