Forth http://fforum.winglion.ru/ |
|
Подключение графической библиотеки QT к SPF 4.20 http://fforum.winglion.ru/viewtopic.php?f=34&t=2696 |
Страница 6 из 6 |
Автор: | KPG [ Ср янв 08, 2014 23:40 ] |
Заголовок сообщения: | Re: Подключение графической библиотеки QT к SPF 4.20 |
mgw писал(а): Колибри для меня слишком сложна. На уровне использования SPF, наверное, не так сложно. Для запуска Kolibri программ в XP KlbrinWin KlbrinWin_src компилируется Fasm Тема обсуждения Forth под Kolibri Os Но для использования всего API Колибри существующий вариант(ы), наверное, потребуется расширить. mgw писал(а): Мне больше интересна интеграция форта (SPF желательно) в другие приложения. Скажем использование SPF в качестве внутреннего "исследователя" (вместо отладчика например) конечного приложения на D и его (приложения) дальнейшего модификации. Наверное надо SPF цеплять как DLL ку. У Михаила для примерно таких целей были "имплантации" Форта в разные программы и в частности в качестве "исследователя" в QEMU - это возможно более универсальный вариант. |
Автор: | mgw [ Пт янв 24, 2014 22:48 ] |
Заголовок сообщения: | Re: Подключение графической библиотеки QT к SPF 4.20 |
Уважаемые форумчане, нужна ваша помощь! Помогите подключить SPF (именно его) в качестве DLL (so) к выполняемому EXE. Подскажите, где есть наработки на эту тему. Основная цель, как бы остановить работающее приложение и переключится в SPF для исследования внутренностей работающего приложения. Этакий встроенный отладчик. |
Автор: | mgw [ Вт фев 11, 2014 16:03 ] |
Заголовок сообщения: | Re: Подключение графической библиотеки QT к SPF 4.20 |
Уважаемые форумчане, нужна ваша помощь! Помогите подключить 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 |
Автор: | KPG [ Вт фев 11, 2014 17:25 ] |
Заголовок сообщения: | Re: Подключение графической библиотеки QT к SPF 4.20 |
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. (консоль Форт системы также в наличии) |
Автор: | mgw [ Пт фев 21, 2014 14:42 ] |
Заголовок сообщения: | Re: Подключение графической библиотеки QT к SPF 4.20 |
Спасибо, KPG. Я наконец то победил Qt. Правда не без помощи Lazarus. Именно там нашлось решение. Сейчас я научился распределять и уничтожать память объектов Qt, и разобрался с QApplication. Вполне реально написать полноценную объвязку Qt для SPF. |
Автор: | kzagradskiy [ Сб сен 05, 2015 06:47 ] |
Заголовок сообщения: | Re: Подключение графической библиотеки QT к SPF 4.20 |
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
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 Ссылки: |
Автор: | mgw [ Сб сен 05, 2015 19:40 ] |
Заголовок сообщения: | Re: Подключение графической библиотеки QT к SPF 4.20 |
Спасибо за информацию по "Name mangling". Сейчас "графическая библиотека QT к SPF 4.20" переросла в полноценную графическую библиотеку QtE-4. К сожалению работы по поддержке форт варианта QtE пришлось остановить. Зато активно развивается QtE для языка программирования D.. С применением этой библиотеки осуществлён крупный проект, кроссплатформенного приложения, для научно учебного центра (НУЦ) в г.Москва. На текущий момент в QtE около 400 функций из Qt 4.8 |
Страница 6 из 6 | Часовой пояс: UTC + 3 часа [ Летнее время ] |
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group http://www.phpbb.com/ |