Вверх ↑
Этот топик читают: Гость
Ответов: 16884
Рейтинг: 1239
#31: 2011-09-15 15:02:27 ЛС | профиль | цитата
flint2, в папке HiAsmElementsDelphicodeSQLiteObj есть obj-файлы,
а в codeSqLite3Api.pas описано обращение к этим obj.
Ну и в чем проблема?
карма: 25
Немного терпения! Дежурный экстрасенс скоро свяжется с Вами!
0
Ответов: 2059
Рейтинг: 132
#32: 2011-09-15 15:37:18 ЛС | профиль | цитата
Ну собственно говоря теперь проблем нет.
Просто мне нужно было подключить "левые" obj или бинарник с передачей параметров.
Теперь всё понятно.
Но сразу найти это трудно, поэтому и спрашивал.
Думаю, что такие вопросы должны быть шире освещены, чтобы велосипед люди не изобретали.
карма: 6

0
Ответов: 16884
Рейтинг: 1239
#33: 2011-09-15 15:59:12 ЛС | профиль | цитата
flint2 писал(а):
Думаю, что такие вопросы должны быть шире освещены, чтобы велосипед люди не изобретали
Эта информация интересна только для разработчиков, а для использующих HiAsm "без знания каких бы то ни было языков" - баласт.
карма: 25
Немного терпения! Дежурный экстрасенс скоро свяжется с Вами!
0
Ответов: 2059
Рейтинг: 132
#34: 2011-09-16 16:58:54 ЛС | профиль | цитата
Собственно говоря, я вот какую цель преследую:
Приамула
Есть сайт http://mytts.forum2x2.ru , там есть моменты не только потребления, но и разработки (если почитать лингвистическую обработку текста. Конечно "балаболка" и "демагог" вносят свою лепту, но зациклились на своих "творениях".
Есть и профессионалы (профессионалы,в плане лингвистики), но они не могут выразить свою мысль в исполняемом файле.

Амбула
HiAsm, как нельзя лучше подходит для выражения своих мыслей.
Буду очень признателен, если можно будет дать ссылку на http://forum.hiasm.com, ну а если будет и помощь в виде советов и решений, - нет слов.
Тема сложная...
Одно дело нарисовать "говорилку", другое дело сложная обработка текста (морфологический - нет проблем, и синтаксический т.е. связь слов слов в предложении и их подчинённость (проблем куча). (принимаются все предложения) анализ.
Смысл в омографах (со`сны/сосны`, сбе`гал/сбега`л). "У попа была собака...". по`па, или попа`?
Некоторые могут писать на прологе, другие на python, С, или других (а некоторые вообще экзотика - нейронные сети, как не странно - хорошо работает). Но dll сделать не могут, или подключить уже сделанные Dll в hiasm`e.
Подходящих,на первый взгляд,элементов нет в hiasm, да и медленно работают,если сделать схемное решение в стиле hiasm. (Пробовал хешированные массивы строк типа "все * *лись" (надо объяснять?), работает очень медленно. 115-125 к оригиналу).
Сразу оговорюсь, что варианты - сделать что то в других пакетах, python или fasm не подходят.
Принимается только пакет Windows.

Поэтому есть необходимость включать куски программ написанных на разных языках.
Пока сделано через OBJ (в некоторых случаях пошло), но хотелось бы придумать механизм присоединения бинарников. Что то типа dll, но не отдельным файлом, а в составе exe, может быть даже как ресурсы, но как организовать call, иди jmp туда?
Есть вариант, из бинарников делать dll, но пока не понятно как сделать максимально простую в использовании программу для этих целий.
Собственно нужно:
include (левый винарник.din)
@@метка1 куда загрузился левый винарник.din
Ret
Call @@метка1
Ret
Это в абстрактном виде.

карма: 6

0
Ответов: 3889
Рейтинг: 362
#35: 2011-09-16 17:37:36 ЛС | профиль | цитата
flint2, а как Вы собираетесь после "склеивания" (без знаний всех языков, особенностей работы всех компиляторов этих языков и множества другой технической информации по ОС) дружить типы данных и механизмы работы с памятью и прочими ресурсами системы, порой кардинально различающиеся в разных языках?
карма: 1

0
Ответов: 2059
Рейтинг: 132
#36: 2011-09-16 18:16:14 ЛС | профиль | цитата
Дружить по передаче данных (констант и переменных) механизм есть и отработан. Если будет интересно напишу.
Но механизм передачи без триповый, т.е. на том "конце" должны знать что передаётся, адрес строки, слово, двойное слово, или адрес сложной структуры.
без знаний всех языков, особенностей работы всех компиляторов

Самая большая трудность была с Фортом. JVA - прямой упрощённый его потомок.
Очень специфический язык, работает как интерпретатор (что очень не удобно для таких задач) и как компилятор одновременно. Тоже без триповый. Причём сам себя и компилирует. Поэтому очень сложно было сделать механизм получения OBJ. Бинарник - без проблем.
типы данных и механизмы работы с памятью и прочими ресурсами системы?

Как дружат различные библиотеки.
Собственно обмен может происходить через стек, или кусок памяти адресуемый через EAX или другой регистр.
Это не так сложно, как кажется на первый взгляд. Просто привычка описывать типы данных даёт о себе знать.
Собственно каждый такой бинарник должен сам себя обеспечивать распределением памяти, если конечно нужно, и передачей данных в нужном формате,для вызвавшей программы, конечно если нельзя обойтись безформатным.
Сохранение регистров возможно, как на вызывающей стороне, так и на вызываемой.
Это нюансы, как с dll для Си и Паскаля, зависит от договорённостей.
Ассемблер, - тот толмач, который понимает всех по обе стороны реки.


карма: 6

0
36
Сообщение
...
Прикрепленные файлы
(файлы не залиты)