Автор |
Сообщение |
|
|
Заголовок сообщения: |
Re: Есть либы для создания DLL на форте? |
|
|
Собрал SPF4.21 для Windows из исходников с Github. (были при этом некоторые заморочки при сборке) в большей степени из-за кодировки в файлах (unix перевод строк), поэтому для компиляции примеров строка будет такой: spf4.exe UNIX-LINES <имя_файла> если запустить сборку системы из исходников - compile.bat, то для завершения сборки потребуется ввести DONE и далее клавишу возврата <Enter> Spf4.21P.S. В корне системы пара примеров сборки DLL и проверки в простеньких батниках. (один для плагина Фара и соответственно каталог с дополнительными файлами плагина) + ещё добавлил Форт-пример проверки передачи параметров в jvm.dll (создаётся с именем Proba.exe) (расположив его в каталоге client , где распологается jvm.dll можно его запустить и увидеть выведенное из Java консольное сообщение) может уже кто то имеет опыт использования Java из Форт, кроме данного примера?
Собрал SPF4.21 для Windows из исходников с Github. (были при этом некоторые заморочки при сборке) в большей степени из-за кодировки в файлах (unix перевод строк), поэтому для компиляции примеров строка будет такой: spf4.exe UNIX-LINES <имя_файла> если запустить сборку системы из исходников - compile.bat, то для завершения сборки потребуется ввести DONE и далее клавишу возврата <Enter>
[url=http://sendfile.su/1518574]Spf4.21[/url]
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
Исправление от 2709.2019
Хрен пойми как, но такой код [b]уже[/b] работает. Может дело в последний части после релокации? Уже лень разбираться. Компилировал запускал из форта. Работает. Конвенция Stdcall
[code]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
[/code]
|
|
|
|
Добавлено: Ср сен 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 на архив ругаются. Может и правда там завёлся вирус? (Форт)
[quote="mOleg"]был вариант с СПФом (видел когда-то, но не смотрел)[/quote] У меня есть и собирался и запускался такой пример сборки DLL для SPF4, но сейчас его FAR при запуске его "отторгает". (может имеет смысл пересобрать)
[url=http://sendfile.su/1518006]Forth Hello for Far[/url] (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-шке, а из исполняемого файла убрать, но мне лень разбираться с линкером). Кстати будет интересно посмотреть если кто таким уже занимался.
Вроде не встречал, но такую возможно сделать на основе либы сохранения исполняемого файла, насколько я знаю DLL - это тот же PE файл, отличающийся от EXE содержимым нескоторых полей и наличием таблицы экспорта.
[url=https://docs.microsoft.com/en-us/previous-versions/ms809762%28v=msdn.10%29?redirectedfrom=MSDN#win32-and-pe-basic-concepts]Вот для старта информация о структуре PE файлов.[/url]
PS. Кстати, например линуксовые so-шки и исполняемые файлы с динамической линковкой походу вообще между собой не различаются структурой, я даже как-то скомпилировал библиотеку в которой располагалась функция main, а в исполняемом файле только данные, я таким же образом думал вынести интерпретатор шитого кода и основные примитивы в библиотеку, а в исполнямом файле хранить один лишь шитый код, но потом все-таки решил (пока только решил) придумать свой формат в угоду переносимости (да и походу сама точка входа _start так и оставалась в исполняемом файле, по идее ее можно разместить и в so-шке, а из исполняемого файла убрать, но мне лень разбираться с линкером). Кстати будет интересно посмотреть если кто таким уже занимался.
|
|
|
|
Добавлено: Вт сен 24, 2019 15:32 |
|
|
|
|
|
Заголовок сообщения: |
Есть либы для создания DLL на форте? |
|
|
Есть либы для создания DLL на форте?
А то вот вдруг понадобилось
Есть либы для создания DLL на форте?
А то вот вдруг понадобилось
|
|
|
|
Добавлено: Вт сен 24, 2019 10:27 |
|
|
|
|