OberonCore
https://forum.oberoncore.ru/

Формат объектного файла
https://forum.oberoncore.ru/viewtopic.php?f=27&t=943
Страница 1 из 1

Автор:  rv82 [ Четверг, 10 Апрель, 2008 06:44 ]
Заголовок сообщения:  Формат объектного файла

Товарищи, прошу прощения, если этот вопрос кто-нибудь уже задавал. В поиске я ничего подобного не нашёл (может быть плохо искал :D).
Объясните мне пожалуйста, какой формат объектного файла в BlackBox? Машинный (подобно Bluebottle) или байткод?
И ещё, в последнее время я плотно работаю с SML/NJ. По заявлениям разработчиков он генерирует машинный код. Но этот код не исполняемый. Для исполнения его нужно загрузить в Runtime. Работает он очень быстро (по-моему, соизмеримо с C++; ocamlopt вообще далеко позади остаётся). Также, поддерживается динамическая подгрузка модулей, хоть они и не оформлены в виде библиотек. Подобный механизм ведь применён в Синей Бутылке? Короче, после такого долгого вступления вопрос :) : есть ли способ (кроме дизассемблера) точно определить байткод, используется или машинный код? Дизассемблированный текст вполне похож на машинный.

Автор:  Илья Ермаков [ Четверг, 10 Апрель, 2008 10:37 ]
Заголовок сообщения:  Re: Формат объектного файла

BlackBox использует чистый машинный код. OCF-файлы - это код 486, константы, метаинформация (описания типов и интерфейса) и символьная информация (информация о смещениях локальных переменных - используется для отладки).

Формат описан в каталоге среды Dev/Spec. В принципе, для служебного пользования
есть декомпилятор для OCF.

Автор:  rv82 [ Понедельник, 28 Апрель, 2008 11:54 ]
Заголовок сообщения:  Re: Формат объектного файла

Спасибо!
Скажите пожалуйста, а можно ли в BlackBox получить доступ к оборудованию? Дело в том, что мне предстоит писать программу, которая будет получать данные от некоторого внешнего нестандартного устройства, подключенного либо к COM, либо к LPT-порту. Можно ли из BlackBox получить доступ к этим портам? Или придётся подвешивать промежуточную DLL, которая будет общаться с портами? (К сожалению, все мои попытки подключить DLL к BlackBox пока что заканчиваются неудачно :( )

PS. Прошу прощения, что в неподходящую тему пишу.

Автор:  Евгений Темиргалеев [ Понедельник, 28 Апрель, 2008 12:04 ]
Заголовок сообщения:  Re: Формат объектного файла

Надо писать кодовые процедуры, чтобы исп-ть инструкции процессора доступа к портам. Для загрузки DLL надо писать модуль с интерфейсом DLL и импортировать его. Блэкбокс загрузит DLL сам при загрузке импортирующего модуля.

Читайте "платформенно-зависимые вопросы" в документации.

Автор:  Илья Ермаков [ Понедельник, 28 Апрель, 2008 12:07 ]
Заголовок сообщения:  Re: Формат объектного файла

На Windows линейки NT напрямую работать с портами нельзя.
Требуется использовать API-функции ввода-вывода.

Автор:  Александр Ильин [ Понедельник, 28 Апрель, 2008 13:20 ]
Заголовок сообщения:  Re: Формат объектного файла

rv82 писал(а):
Дело в том, что мне предстоит писать программу, которая будет получать данные от некоторого внешнего нестандартного устройства, подключенного либо к COM, либо к LPT-порту. Можно ли из BlackBox получить доступ к этим портам?
Я успешно работал с COM-портами. См. модули CommStreams и CommV24.

Автор:  Штирлиц [ Понедельник, 28 Апрель, 2008 15:04 ]
Заголовок сообщения:  Re: Формат объектного файла

Илья Ермаков писал(а):
На Windows линейки NT напрямую работать с портами нельзя.
Требуется использовать API-функции ввода-вывода.

Можно, если использовать библиотеку WinIo (http://www.internals.com).
Но, это не рекомендуется

Автор:  Штирлиц [ Среда, 07 Май, 2008 08:12 ]
Заголовок сообщения:  Re: Формат объектного файла

Еще вот есть
WinRing0 is a hardware access library for Windows. It provides your application to access I/O port, MSR, PCI bus, and etc... WinRing0 has Digitally-Signed driver, so it works fine on Windows Vista x64 Edition.
http://sourceforge.net/project/showfile ... _id=206334

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