Forth и другие саморасширяющиеся системы программирования Locations of visitors to this page
Текущее время: Пт мар 29, 2024 00:11

...
Google Search
Forth-FAQ Spy Grafic

Часовой пояс: UTC + 3 часа [ Летнее время ]




Ответить
Имя пользователя:
Заголовок:
Текст сообщения:
Введите текст вашего сообщения. Длина сообщения в символах не более: 60000

Размер шрифта:
Цвет шрифта
Настройки:
BBCode ВКЛЮЧЕН
[img] ВЫКЛЮЧЕН
[flash] ВЫКЛЮЧЕН
[url] ВКЛЮЧЕН
Смайлики ВЫКЛЮЧЕНЫ
Отключить в этом сообщении BBCode
Не преобразовывать адреса URL в ссылки
Вопрос
Теперь гостю придется вводить здесь пароль. Не от своей учетной записи, а ПАРОЛЬ ДЛЯ ГОСТЯ, получить который можно после регистрации на форуме через ЛС.:
Этот вопрос предназначен для выявления и предотвращения автоматических регистраций.
   

Обзор темы - Есть либы для создания DLL на форте?
Автор Сообщение
  Заголовок сообщения:  Re: Есть либы для создания DLL на форте?  Ответить с цитатой
Собрал SPF4.21 для Windows из исходников с Github. (были при этом некоторые заморочки при сборке)
в большей степени из-за кодировки в файлах (unix перевод строк), поэтому для компиляции примеров
строка будет такой: spf4.exe UNIX-LINES <имя_файла>
если запустить сборку системы из исходников - compile.bat, то для завершения сборки потребуется ввести
DONE и далее клавишу возврата <Enter>

Spf4.21

P.S. В корне системы пара примеров сборки DLL и проверки в простеньких батниках.
(один для плагина Фара и соответственно каталог с дополнительными файлами плагина)
+ ещё добавлил Форт-пример проверки передачи параметров в jvm.dll (создаётся с именем Proba.exe)
(расположив его в каталоге client , где распологается jvm.dll можно его запустить и увидеть выведенное из Java консольное сообщение) может уже кто то имеет опыт использования Java из Форт, кроме данного примера?
Сообщение Добавлено: Пт сен 27, 2019 17:34
  Заголовок сообщения:  Re: Есть либы для создания DLL на форте?  Ответить с цитатой
Исправление от 2709.2019

Хрен пойми как, но такой код уже работает.
Может дело в последний части после релокации? Уже лень разбираться. Компилировал запускал из форта. Работает.
Конвенция Stdcall

Код:
format PE console DLL
entry DllEntryPoint

include 'win32a.inc'

section '.text' code readable executable

proc DllEntryPoint
        mov     eax,TRUE
        ret
endp

proc PROV
POP EBX
POP EAX
ADD EAX, 10
JMP EBX
endp

section '.edata' export data readable

  export 'EBX-1.DLL',PROV,'PROV'

section '.reloc' fixups data readable discardable

  if $=$$
    dd 0,8              ; if there are no fixups, generate dummy entry
  end if


Сообщение Добавлено: Ср сен 25, 2019 21:28
  Заголовок сообщения:  Re: Есть либы для создания DLL на форте?  Ответить с цитатой
mOleg писал(а):
был вариант с СПФом (видел когда-то, но не смотрел)

У меня есть и собирался и запускался такой пример сборки DLL для SPF4, но сейчас его FAR при запуске его "отторгает".
(может имеет смысл пересобрать)

Forth Hello for Far (32-бит)
Это из либы в каталоге ~ygrek/prog
а также ещё либа для создания DLL в SPF4 в директории ~pinka/lib/utils

P.S. даже какие то антивирусы на Virustotal на архив ругаются. Может и правда там завёлся вирус? (Форт) :)
Сообщение Добавлено: Вт сен 24, 2019 17:51
  Заголовок сообщения:  Re: Есть либы для создания DLL на форте?  Ответить с цитатой
был вариант с СПФом (видел когда-то, но не смотрел)
Сообщение Добавлено: Вт сен 24, 2019 16:59
  Заголовок сообщения:  Re: Есть либы для создания DLL на форте?  Ответить с цитатой
Вроде не встречал, но такую возможно сделать на основе либы сохранения исполняемого файла, насколько я знаю DLL - это тот же PE файл, отличающийся от EXE содержимым нескоторых полей и наличием таблицы экспорта.

Вот для старта информация о структуре PE файлов.

PS. Кстати, например линуксовые so-шки и исполняемые файлы с динамической линковкой походу вообще между собой не различаются структурой, я даже как-то скомпилировал библиотеку в которой располагалась функция main, а в исполняемом файле только данные, я таким же образом думал вынести интерпретатор шитого кода и основные примитивы в библиотеку, а в исполнямом файле хранить один лишь шитый код, но потом все-таки решил (пока только решил) придумать свой формат в угоду переносимости (да и походу сама точка входа _start так и оставалась в исполняемом файле, по идее ее можно разместить и в so-шке, а из исполняемого файла убрать, но мне лень разбираться с линкером). Кстати будет интересно посмотреть если кто таким уже занимался.
Сообщение Добавлено: Вт сен 24, 2019 15:32
  Заголовок сообщения:  Есть либы для создания DLL на форте?  Ответить с цитатой
Есть либы для создания DLL на форте?

А то вот вдруг понадобилось
Сообщение Добавлено: Вт сен 24, 2019 10:27

Часовой пояс: UTC + 3 часа [ Летнее время ]


Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
phpBB сборка от FladeX // Русская поддержка phpBB