OberonCore https://forum.oberoncore.ru/ |
|
Неизвестный системный флаг? https://forum.oberoncore.ru/viewtopic.php?f=29&t=1212 |
Страница 1 из 1 |
Автор: | igor [ Вторник, 21 Октябрь, 2008 06:44 ] |
Заголовок сообщения: | Неизвестный системный флаг? |
Вот строчка из модуля HostPrinters, который импортирует модуль SYSTEM: Код: PROCEDURE [2] AbortHandler (dc: GDI32.Handle; error: INTEGER): INTEGER; Есть такое благородное желание: понимать каждую закорючку в коде ![]() Для процедур определены только два системных флага: code и ccal. Эти флаги имеют значения 1 и -10, соответственно. Что означает [2] в заголовке проседуры ![]() Буду признателен за разъяснения |
Автор: | Geniepro [ Вторник, 21 Октябрь, 2008 07:19 ] |
Заголовок сообщения: | Re: Неизвестный системный флаг? |
А как же легендарное 16-страничное описание? Почему там такие вещи не описываются? |
Автор: | igor [ Вторник, 21 Октябрь, 2008 07:34 ] |
Заголовок сообщения: | Re: Неизвестный системный флаг? |
Geniepro писал(а): А как же легендарное 16-страничное описание? Почему там такие вещи не описываются? Видимо, потому что: Цитата: SYSTEM не считается правильной частью языка Компонентный Паскаль И всё-таки, не хотелось бы оставлять "белых пятен" в "чёрном ящике" ![]() Работать приходится не с каким-то эфемерным языком, а с реальной системой, вместе с её модулем SYSTEM, пусть даже "неправильным". |
Автор: | Trurl [ Вторник, 21 Октябрь, 2008 08:04 ] |
Заголовок сообщения: | Re: Неизвестный системный флаг? |
Игорь Лоскутов писал(а): Для процедур определены только два системных флага: code и ccal. Эти флаги имеют значения 1 и -10, соответственно. Что означает [2] в заголовке проседуры ![]() Для процедур есть флаги code = 1, callback = 2, guarded = 8, noframe = 16, ccall = -10 и еще несколько неиспользуемых. Флаг callback должен означать stdcall, но смысла в нем нет, поскольку и так все процедуры используют это соглашение. |
Автор: | igor [ Вторник, 21 Октябрь, 2008 08:14 ] |
Заголовок сообщения: | Re: Неизвестный системный флаг? |
Trurl писал(а): Для процедур есть флаги code = 1, callback = 2, guarded = 8, noframe = 16, ccall = -10 и еще несколько неиспользуемых. Вот с этого места, пожалуйста, поподробнее ![]() |
Автор: | Евгений Темиргалеев [ Вторник, 21 Октябрь, 2008 08:29 ] |
Заголовок сообщения: | Re: Неизвестный системный флаг? |
Исходники компилятора, например. Дайте поиск по исходникам (Info->Search In Sources). |
Автор: | igor [ Вторник, 21 Октябрь, 2008 08:37 ] |
Заголовок сообщения: | Re: Неизвестный системный флаг? |
Евгений Темиргалеев писал(а): Исходники компилятора, например. Я это подозревал ![]() ![]() Всем спасибо! |
Автор: | Илья Ермаков [ Вторник, 21 Октябрь, 2008 09:58 ] |
Заголовок сообщения: | Re: Неизвестный системный флаг? |
Просто некоторые модули среды писались ещё до того, как были введены "культурные" названия флагов. И задолго до того, как были открыты исходники среды. |
Автор: | igor [ Вторник, 21 Октябрь, 2008 18:59 ] |
Заголовок сообщения: | Re: Неизвестный системный флаг? |
Илья Ермаков писал(а): Просто некоторые модули среды писались ещё до того, как были введены "культурные" названия флагов. И задолго до того, как были открыты исходники среды. Да, в исходниках присутствует некоторый "бардачок". Для начала я решил избавиться от устаревших интерфейсных модулей, которые к тому же не представлены своими исходниками. На сегодняшний день осталось только исключить KERNEL32.osf. Может сегодня успею. Но изменений очень много, поэтому логи не веду.
|
Автор: | igor [ Вторник, 21 Октябрь, 2008 19:07 ] |
Заголовок сообщения: | Re: Неизвестный системный флаг? |
Кстати, почему при сборке стандартного BB (по Docu DevLinker) размер икзешнега получается около 1,3 МБ, а не 85КБ у файла из дистибутива ![]() |
Автор: | Илья Ермаков [ Вторник, 21 Октябрь, 2008 19:18 ] |
Заголовок сообщения: | Re: Неизвестный системный флаг? |
Про KERNEL32 - они убраны в 1.6. Про сжатие: так в DevLinker приведена строка линковки полностью статического случая. А обычный ББ собран всего из 3 модулей: Kernel, HostFiles и StdLoader (в локализованной версии перед Kernel ставится ещё National). Всё остальное грузится динамически - это видно в Info->Loaded Modules... |
Автор: | igor [ Вторник, 21 Октябрь, 2008 19:28 ] |
Заголовок сообщения: | Re: Неизвестный системный флаг? |
Илья Ермаков писал(а): Про KERNEL32 - они убраны в 1.6. Пусть, зато хоть исходники почитаю ![]() Илья Ермаков писал(а): Про сжатие: так в DevLinker приведена строка линковки полностью статического случая. Об этом я как-то не подумал. спасибо.
А обычный ББ собран всего из 3 модулей ... Всё остальное грузится динамически - это видно в Info->Loaded Modules... |
Страница 1 из 1 | Часовой пояс: UTC + 3 часа |
Powered by phpBB® Forum Software © phpBB Group https://www.phpbb.com/ |