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

...
Google Search
Forth-FAQ Spy Grafic

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




Начать новую тему Ответить на тему  [ Сообщений: 82 ]  На страницу Пред.  1, 2, 3, 4, 5, 6
Автор Сообщение
 Заголовок сообщения: Re: Подключение графической библиотеки QT к SPF 4.20
СообщениеДобавлено: Ср янв 08, 2014 23:40 
Не в сети

Зарегистрирован: Пн янв 07, 2013 22:40
Сообщения: 864
Благодарил (а): 3 раз.
Поблагодарили: 33 раз.
mgw писал(а):
Колибри для меня слишком сложна.

На уровне использования SPF, наверное, не так сложно.
Для запуска Kolibri программ в XP KlbrinWin
KlbrinWin_src компилируется Fasm
Тема обсуждения Forth под Kolibri Os
Но для использования всего API Колибри существующий вариант(ы), наверное, потребуется расширить.

mgw писал(а):
Мне больше интересна интеграция форта (SPF желательно) в другие приложения. Скажем использование SPF в качестве внутреннего "исследователя" (вместо отладчика например) конечного приложения на D и его (приложения) дальнейшего модификации. Наверное надо SPF цеплять как DLL ку.

У Михаила для примерно таких целей были "имплантации" Форта в разные программы и в частности в качестве "исследователя" в QEMU - это возможно более универсальный вариант.


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: Подключение графической библиотеки QT к SPF 4.20
СообщениеДобавлено: Пт янв 24, 2014 22:48 
Не в сети

Зарегистрирован: Ср фев 17, 2010 18:10
Сообщения: 323
Откуда: Тверь
Благодарил (а): 13 раз.
Поблагодарили: 10 раз.
Уважаемые форумчане, нужна ваша помощь!
Помогите подключить SPF (именно его) в качестве DLL (so) к выполняемому EXE. Подскажите, где есть наработки на эту тему. Основная цель, как бы остановить работающее приложение и переключится в SPF для исследования внутренностей работающего приложения. Этакий встроенный отладчик.


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: Подключение графической библиотеки QT к SPF 4.20
СообщениеДобавлено: Вт фев 11, 2014 16:03 
Не в сети

Зарегистрирован: Ср фев 17, 2010 18:10
Сообщения: 323
Откуда: Тверь
Благодарил (а): 13 раз.
Поблагодарили: 10 раз.
Уважаемые форумчане, нужна ваша помощь!
Помогите подключить SPF (именно его) в качестве DLL (so) к выполняемому EXE. Подскажите, где есть наработки на эту тему. Основная цель, как бы остановить работающее приложение и переключится в SPF для исследования внутренностей работающего приложения. Этакий встроенный отладчик.

P.S. http://qte.ucoz.ru/load/qte_ot_060214_dlja_d_i_spf_4_20_windows_i_linux_32_64_ne_proverjal/1-1-0-9 - содержит QtE.f для работы SPF с Qt


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: Подключение графической библиотеки QT к SPF 4.20
СообщениеДобавлено: Вт фев 11, 2014 17:25 
Не в сети

Зарегистрирован: Пн янв 07, 2013 22:40
Сообщения: 864
Благодарил (а): 3 раз.
Поблагодарили: 33 раз.
mgw писал(а):
Помогите подключить SPF (именно его) в качестве DLL (so) к выполняемому EXE.

Вариант сборки? (для Windows, но не сильно правильный)
Поиск по spf.dll на форуме

mgw писал(а):
Подскажите, где есть наработки на эту тему. Основная цель, как бы остановить работающее приложение и переключится в SPF для исследования внутренностей работающего приложения. Этакий встроенный отладчик.

Точно не подскажу, но наверное можно использовать возможности , в частности Fasm по созданию варианта Fasm+SPFort4 в виде DLL и его расширению.
(для "многих" программ - языков программирования Fasm является back-end при создания исполняемого файла, и в частности для HLA ассемблера)

Михаил встраивал SPF4 в FASM для его исследования.
архив такого решения для Windows системы.

В тесте извлекается Map файл из данных Fasm при компиляции, А также вызвав ABORT в скрипте можно вызвать консоль SPF4
В данном варианте можно средствами SPF4 заменить некоторый родной функционал FASM при сохранении совместимости компилируемого асм кода.
и при этом существует возможность задействовать возможности SPF4

P.S. Ещё один проект с дизасемблированием "используемых asm кодов слов скрипта SPF4" для встраивания SPF Форт кода в Delphi HiAsm (с форума HiAsm)
Disasm может тоже на что сгодится:)
Участник форума flint2 делал и SPF.dll

P.P.S. SPF4 in QEMU (by Mihail) (100Mb c MinGW) Можно на уровне ядра СPU отладку сделать :)
и внедрить, по возможности, в последние версии QEMU. (консоль Форт системы также в наличии)


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: Подключение графической библиотеки QT к SPF 4.20
СообщениеДобавлено: Пт фев 21, 2014 14:42 
Не в сети

Зарегистрирован: Ср фев 17, 2010 18:10
Сообщения: 323
Откуда: Тверь
Благодарил (а): 13 раз.
Поблагодарили: 10 раз.
Спасибо, KPG. Я наконец то победил Qt. Правда не без помощи Lazarus. Именно там нашлось решение. Сейчас я научился распределять и уничтожать память объектов Qt, и разобрался с QApplication. Вполне реально написать полноценную объвязку Qt для SPF.


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: Подключение графической библиотеки QT к SPF 4.20
СообщениеДобавлено: Сб сен 05, 2015 06:47 
Не в сети
Аватара пользователя

Зарегистрирован: Вт фев 17, 2009 19:58
Сообщения: 111
Откуда: Барнаул
Благодарил (а): 21 раз.
Поблагодарили: 16 раз.
mgw писал(а):
Код:
Library@ QtGui  0 THIS-CDECL-Win-VC-Call" ?
show@QWidget@@QAEXXZ" ПокажиОкно // ПокажиОкно

Обратите внимание, на искажение имён (?show@QWidget@@QAEXXZ) вносимое компилятором С++. В этом имени зашифрован тип вызова и кол параметров. Для разных компиляторов может быть различным.

Есть статья по Calling conventions > Раздел "8 Name mangling"
В статье есть подробная таблица с кодами для разных компиляторов следущего вида:
Код:
Table 9. Type codes
|-------------------------------------------------------------------|
| type | Microsoft | Borland | Watcom | Gnu2  | Gnu3-4  | Gnu4      |
|                                             | ABI v.3 | ABI v.4+  |
|-------------------------------------------------------------------|
| void | X         | v       | v      | v     | v       | v         |
| bool | _N        | 4bool   | q      | b     | b       | b         |
| char | D         | c       | a      | c     | c       | c         |
и т. д.

Так же есть коды для сложных типов (как классы). Имея подобную информацию можно создать библиотеку для конвертирования имен вида ?show@QWidget@@QAEXXZ в адекватные исходные имена C++.

Calling conventions
for different C++ compilers and operating systems

By Agner Fog. Technical University of Denmark.
Copyright © 2004 - 2014. Last updated 2014-08-07.

Contents
    1 Introduction . 3
    2 The need for standardization. 5
    3 Data representation. 6
    4 Data alignment 8
    5 Stack alignment. 9
    6 Register usage 10
    6.1 Can floating point registers be used in 64-bit Windows? . 13
    6.2 YMM vector registers 14
    6.3 ZMM vector registers 15
    6.4 Register usage in kernel code. 15
    7 Function calling conventions . 16
    7.1 Passing and returning objects. 20
    7.2 Passing and returning SIMD types 23
    8 Name mangling . 25
    8.1 Microsoft name mangling 29
    8.2 Borland name mangling 34
    8.3 Watcom name mangling . 35
    8.4 Gnu2 name mangling 36
    8.5 Gnu3-4 name mangling 38
    8.6 Intel name mangling for Windows . 40
    8.7 Intel name mangling for Linux . 41
    8.8 Symantec and Digital Mars name mangling 41
    8.9 Codeplay name mangling . 41
    8.10 Other compilers 42
    8.11 Turning off name mangling with extern "C" . 42
    8.12 Conclusion 43
    9 Exception handling and stack unwinding . 43
    10 Initialization and termination functions . 44
    11 Virtual tables and runtime type identification 44
    12 Communal data. 45
    13 Memory models. 45
    13.1 16-bit memory models 45
    13.2 32-bit memory models 46
    13.3 64-bit memory models in Windows . 46
    13.4 64-bit memory models in Linux and BSD 46
    13.5 64-bit memory models in Intel-based Mac (Darwin) 46
    14 Relocation of executable code. 47
    14.1 Import tables. 49
    15 Object file formats . 49
    15.1 OMF format. 49
    15.2 COFF format. 50
    15.3 ELF format 51
    15.4 Mach-O format 51
    15.5 a.out format. 52
    15.6 Comparison of object file formats 52
    15.7 Conversion between object file formats. 52
    15.8 Intermediate file formats . 52
    16 Debug information. 53
    17 Data endian-ness 53
    18 Predefined macros 53
    19 Available C++ Compilers . 55
    19.1 Microsoft. 55
    19.2 Borland . 55
    19.3 Watcom 55
    19.4 Gnu. 55
    19.5 Digital Mars. 55
    19.6 Codeplay 55
    19.7 Intel. 55
    20 Literature. 56
    20.1 ABI's for Unix, Linux, BSD and Mac OS X (Intel-based) 56
    20.2 ABIs for Windows 56
    20.3 Object file format specifications. 57
    21 Copyright notice 57
    22 Acknowledgments . 57

Ссылки:


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: Подключение графической библиотеки QT к SPF 4.20
СообщениеДобавлено: Сб сен 05, 2015 19:40 
Не в сети

Зарегистрирован: Ср фев 17, 2010 18:10
Сообщения: 323
Откуда: Тверь
Благодарил (а): 13 раз.
Поблагодарили: 10 раз.
Спасибо за информацию по "Name mangling".

Сейчас "графическая библиотека QT к SPF 4.20" переросла в полноценную графическую библиотеку QtE-4. К сожалению работы по поддержке форт варианта QtE пришлось остановить. Зато активно развивается QtE для языка программирования D.. С применением этой библиотеки осуществлён крупный проект, кроссплатформенного приложения, для научно учебного центра (НУЦ) в г.Москва.

На текущий момент в QtE около 400 функций из Qt 4.8


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 82 ]  На страницу Пред.  1, 2, 3, 4, 5, 6

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


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

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


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

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