Forth и другие саморасширяющиеся системы программирования Locations of visitors to this page
Текущее время: Сб июл 21, 2018 11:48

...
Google Search
Forth-FAQ Spy Grafic

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




Начать новую тему Ответить на тему  [ Сообщений: 139 ]  На страницу Пред.  1 ... 6, 7, 8, 9, 10
Автор Сообщение
 Заголовок сообщения: Re: SPF/Linux
СообщениеДобавлено: Вс окт 06, 2013 22:45 
Не в сети
Аватара пользователя

Зарегистрирован: Вт мар 20, 2007 23:39
Сообщения: 1254
Благодарил (а): 3 раз.
Поблагодарили: 16 раз.
mgw писал(а):
Нашел как загрузить SO и она грузится, нашел поиск и загрузку функции - работает, а вот как вызвать функцию, так и не нашел.

Пример есть в unix\socket.fs. Там прямо в исходнике *.fs на си пишется код, сопоставляются сишные функции и форт-слова, затем при компиляции исходника к си коду дописываются нужные инклюды и он автоматически компилируется в so. Соответственно скомпилированные либы сохраняются в домашнем каталоге пользователя в каталоге ~/.gforth/libcc-named. При этом gForth почему-то не отслеживает изменения в си коде в форт-исходнике и при изменении си кода необходимо удалить исходники и so-файлы, чтобы gForth их перекомпилировал. Я просто не стал разбираться, как указать gForth перекомпилировать so и просто сделал скриптик:
Код:
#!/bin/sh
rm -f -r ~/.gforth/libcc-named/*.c
rm -f -r ~/.gforth/libcc-named/*.o
rm -f -r ~/.gforth/libcc-named/*.lo
rm -f -r ~/.gforth/libcc-named/*.la

И запускаю его автоматом при запуске gForth-а - все равно оно компилируется достаточно быстро.
Вот тут на гитхабе лежит текущая версия gForth-а, уже с поддержкой многопоточности через ptheards.c.

_________________
Cтоимость сопровождения программного обеспечения пропорциональна квадрату творческих способностей программиста.
Роберт Д. Блисc


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: SPF/Linux
СообщениеДобавлено: Чт окт 17, 2013 22:34 
Не в сети

Зарегистрирован: Ср фев 17, 2010 18:10
Сообщения: 323
Откуда: Тверь
Благодарил (а): 13 раз.
Поблагодарили: 10 раз.
Из SPF в Internet.

Добавил в QtE.f пару новых классов из QWebKit.
Код:
// QWebView
     pFunQt[88] = GetPrAddres(bQtE, hQtE, "QT_QWebView"); if (!pFunQt[88]) MessageErrorLoad(showError, "QT_QWebView"w, 2);
     pFunQt[91] = GetPrAddres(bQtE, hQtE, "QT_QWebView_load"); if (!pFunQt[91]) MessageErrorLoad(showError, "QT_QWebView_load"w, 2);
// QUrl
     pFunQt[89] = GetPrAddres(bQtE, hQtE, "QT_QUrl"); if (!pFunQt[89]) MessageErrorLoad(showError, "QT_QUrl"w, 2);
     pFunQt[90] = GetPrAddres(bCore, hQtCore, "_ZN4QUrl6setUrlERK7QString"); if (!pFunQt[90]) MessageErrorLoad(showError, "QUrl::setUrl(QString)"w, 2);

// =============== QWebView ========================
fQWidget SUBCLASS fQWebView
: create     // Инициализация класса
   0 {{ QtE pFunQt_88 }} SUPER p_QObject !
   ;
: load   // ( Astr -- ) Вернуть значение
   SUPER p_QObject @ {{ QtE pFunQt_91 }} DROP
   ;
;CLASS   
// =============== QUrl ========================
fQObject SUBCLASS fQUrl
: create     // ( Aobj --  ) Инициализация класса
   {{ QtE pFunQt_89 }} SUPER p_QObject !
   ;
: setUrl    // ( Astr -- ) Установить URL из QString
   SUPER p_QObject @ {{ QtE pFunQt_90 }} DROP
   ;
;CLASS


Вот такой кусок кода обеспечивает открытие окна и отображение в нем http://www.yandex.ru
Код:
fQString NEW qsTmp2 qsTmp2.create  \ Создали QString
Z" http://www.yandex.ru" SrcCodec.QtObj SWAP qsTmp2.toUnicode  \ и записали в неё адрес сайта
fQUrl NEW url url.create qsTmp2.QtObj url.setUrl  \ подготовили URL для WebKit
fQWebView NEW wv wv.create wv.show   \ отобразили окно браузера на экране
url.QtObj wv.load  \ загрузили в него yandex


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: SPF/Linux
СообщениеДобавлено: Чт окт 17, 2013 22:41 
Не в сети
Аватара пользователя

Зарегистрирован: Вт мар 20, 2007 23:39
Сообщения: 1254
Благодарил (а): 3 раз.
Поблагодарили: 16 раз.
О, прикольно. А как получить и обработать результат загрузки? И можно ли, например, повесить свой обработчик на какие-то события на странице?

_________________
Cтоимость сопровождения программного обеспечения пропорциональна квадрату творческих способностей программиста.
Роберт Д. Блисc


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: SPF/Linux
СообщениеДобавлено: Чт окт 17, 2013 22:50 
Не в сети

Зарегистрирован: Ср фев 17, 2010 18:10
Сообщения: 323
Откуда: Тверь
Благодарил (а): 13 раз.
Поблагодарили: 10 раз.
Надо разбираться в классах QWebKit. Я пока еще не копал глубоко. Это просто эксперимент, на время. Хотел понять сколько надо времени на добавление новой функциональности в QtE. Вот на это (см выше) у меня ушло часа 2 где то. Основное время на то, что бы понять
что с чем стыкуется в Qt.


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 139 ]  На страницу Пред.  1 ... 6, 7, 8, 9, 10

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


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 2


Вы не можете начинать темы
Вы можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

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