Forth http://fforum.winglion.ru/ |
|
SPF/Linux http://fforum.winglion.ru/viewtopic.php?f=18&t=800 |
Страница 9 из 10 |
Автор: | VoidVolker [ Вт авг 20, 2013 20:18 ] |
Заголовок сообщения: | Re: SPF/Linux |
Ой, а давайте перенесем оффтопик в другую тему? |
Автор: | Mihail [ Ср авг 21, 2013 00:12 ] |
Заголовок сообщения: | Re: SPF/Linux |
с VALUE вроде разобрался http://fpauk.narod.ru/LinuxSPF64.2.tar.bz2 С остальным завтра. Еще литералы урезаються. |
Автор: | VoidVolker [ Ср авг 21, 2013 08:53 ] |
Заголовок сообщения: | Re: SPF/Linux |
Mihail Спасибо! Таки проверь ЛС. Предлагаю вынести все сишные библиотеки в отдельный файл и каталог. У меня сейчас вот так: Код: + spf64/ + clibs/ socket.c fork.c clibs.o Сокеты чуток доработанные - выкинул лишнее и добавил листен и акцепт. |
Автор: | VoidVolker [ Ср авг 21, 2013 13:35 ] |
Заголовок сообщения: | Re: SPF/Linux |
Вот 2@ есть, а 2! нету. Не работают: Код: 2@ \ Извлекает только 4 байта на стек
ZTYPE \ Никакой реакции |
Автор: | Mihail [ Ср авг 21, 2013 23:57 ] |
Заголовок сообщения: | Re: SPF/Linux |
Очередная версия http://fpauk.narod.ru/LinuxSPF64.3.tar.bz2 |
Автор: | VoidVolker [ Чт авг 22, 2013 15:21 ] |
Заголовок сообщения: | Re: SPF/Linux |
SP-Forth x64 на гитхабе: https://github.com/VoidVolker/spf64 Собственно, предлагаю перенести обсуждение спф-64 в отдельную тему. |
Автор: | VoidVolker [ Вт сен 17, 2013 08:21 ] |
Заголовок сообщения: | Re: SPF/Linux |
Как подключать внешние so-библиотеки в LinuxSPF_x86? |
Автор: | mgw [ Вт сен 17, 2013 16:09 ] |
Заголовок сообщения: | Re: SPF/Linux |
1 - задать каталог поиска. Обычно в переменной LD_LIBRARY_PATH Для установки текущего каталога: LD_LIBRARY_PATH=`pwd`; export LD_LIBRARY_PATH 2 - Загрузить библиотеку и дальше как обычно, поиск функции и т.д. В тех библиотеках, что я видел в SPF-4.20 подключение в Windows и Linux различаются синтаксисом, что мне не удобно. Я написал свою библиотеку. Она универсальна и работает одинаково в обоих операционках. Если есть необходимость, могу выложить и рассказать как работает. |
Автор: | VoidVolker [ Вт сен 17, 2013 16:57 ] |
Заголовок сообщения: | Re: SPF/Linux |
mgw писал(а): В тех библиотеках, что я видел в SPF-4.20 подключение в Windows и Linux различаются синтаксисом, что мне не удобно. Я написал свою библиотеку. Она универсальна и работает одинаково в обоих операционках. Если есть необходимость, могу выложить и рассказать как работает. Да, интересно. |
Автор: | mgw [ Вт сен 17, 2013 18:15 ] |
Заголовок сообщения: | Re: SPF/Linux |
Скачиваешь архив http://qte.ucoz.ru/load от 08.09.13 (самый свежий). В нем есть каталог spf. В этом каталоге есть папка ~mgw - копируешь её в каталог devel в spf. В этой папке mgw_dll.f В своём файле пишешь: REQUIRE CDECL-CALL ~mgw/mgw_dll.f \ Подготовка к загрузке, реальной загрузки библиотеки нет if=L Library" libc.so.6" libc6 \ сработает в Linux if=W Library" libc.dll" libc6 \ сработает в Windows. Имя DLL не помню, пишу для примера \ Формируем список с описанием вызова. \ Перед типом вызова количество аргументов для функции if=L Library@ libc6 1 CDECL-Call" malloc" malloc if=L Library@ libc6 2 CDECL-Call" calloc" calloc if=L Library@ libc6 1 CDECL-Call" free" free : malloc0 1 calloc ; // Выделить память и обнулить её \ Загрузим и активизируем библиотеку. В этот момент список функций заполняется \ реальными адресами LibraryLoad libc6 : ВыделитьВхипеИзанулить ( Nбайт -- A ) \ Выделяет и зануляет в хипе N байт malloc0 ; Типы вызовов могут быть разные: CDECL-Call CDECL-Call-N STDCALL-Call STDCALL-Call-N WINAPI-Call WINAPI-Call-N Extern THIS-CDECL-Linux-gcc-Call THIS-CDECL-Win-MinGW-Call |
Автор: | VoidVolker [ Вт сен 17, 2013 20:31 ] |
Заголовок сообщения: | Re: SPF/Linux |
Для кода есть bb-тег CODE. mgw писал(а): if=L Library@ libc6 1 CDECL-Call" malloc" malloc А зачем кавычки? Все равно в функциях пробелов не бывает - можно же сразу слово забирать из входного потока. mgw писал(а): Типы вызовов могут быть разные: CDECL-Call CDECL-Call-N STDCALL-Call STDCALL-Call-N WINAPI-Call WINAPI-Call-N Extern THIS-CDECL-Linux-gcc-Call THIS-CDECL-Win-MinGW-Call А как определить? |
Автор: | mgw [ Вт сен 17, 2013 20:54 ] |
Заголовок сообщения: | Re: SPF/Linux |
Кавычки - мне так удобнее визуально видеть где имя функции, а где полученное слово. И современные редакторы подсвечивают строку. Определить что? Если тип вызова, то читай док по конкретной so. Как ее запрограммировали так и надо вызывать. В linux системные библитеки в cdecl |
Автор: | VoidVolker [ Вт сен 17, 2013 21:59 ] |
Заголовок сообщения: | Re: SPF/Linux |
Ясно, спасибо! Как будет время - закопаюсь. |
Автор: | mgw [ Чт окт 03, 2013 21:12 ] |
Заголовок сообщения: | Re: SPF/Linux |
Решил попробовать QtE в 64 разрядах. Поставил 64 разрядную Fedora 19. Пока борюсь с ошибками, но что радует - уже отображается окошко (QWidget) и правильно работают события. Пока работаю на D, но планирую испытать и под фортом. Скорее всего под gForth 64 |
Автор: | mgw [ Вс окт 06, 2013 22:15 ] |
Заголовок сообщения: | Re: SPF/Linux |
Изготовил QtE - 64. Проверил на D в 64 разрядном режиме (Fedora 19 - 64). Всё работает. Покрутил gForth ... сильно запутанно. Нашел как загрузить SO и она грузится, нашел поиск и загрузку функции - работает, а вот как вызвать функцию, так и не нашел. То, что они рекомендуют не работает. Субъективно конечно, но 32 разрядная система работает заметно быстрее 64 разрядной. (amd Athlon 64 X2, 3gb памяти). QtE for Dlang 64 http://files.mail.ru/D03386CA294542298B2EDF297B4FF313 |
Страница 9 из 10 | Часовой пояс: UTC + 3 часа [ Летнее время ] |
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group http://www.phpbb.com/ |