Модераторы: Poseidon, Snowy, bems, MetalFan
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Использование функций, Скомпиленных в Дельфи. 
:(
    Опции темы
WolfON
Дата 6.7.2005, 15:21 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 604
Регистрация: 19.7.2004

Репутация: нет
Всего: 8



Есть программа на ассемблере.
Я хочу использовать функции в этой проге, но которые я напишу на дельфе.
Использование .dll медленно и жрет много места.
Хотелось-бы скомпилить .obj и включить его в .exe который будет скомпилен из асмовской проге и который будет использовать функции из .obj
PM MAIL ICQ   Вверх
Akella
Дата 6.7.2005, 15:26 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Творец
****


Профиль
Группа: Модератор
Сообщений: 18485
Регистрация: 14.5.2003
Где: Корусант

Репутация: 36
Всего: 329



Цитата(WolfON @ 6.7.2005, 15:21)
Использование .dll медленно и жрет много места.

нифига оно не медленно и не жрёт много места, если, конечно, у тебя DLL не 2 гига
использование Dll -это давно признанная технология
Цитата(WolfON @ 6.7.2005, 15:21)
Хотелось-бы скомпилить .obj

мне кажется, что получиться почти тоже, что и использование DLL
PM MAIL   Вверх
Quadr0
Дата 6.7.2005, 15:28 (ссылка)    |    (голосов: 0) Загрузка ... Загрузка ... Быстрая цитата Цитата


Unregistered











...

Это сообщение отредактировал(а) Quadr0 - 14.7.2011, 22:37
  Вверх
WolfON
Дата 6.7.2005, 16:14 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 604
Регистрация: 19.7.2004

Репутация: нет
Всего: 8



По размеру больше. Длл в дельфе - начиная с 400 кб. Объектный файл - значительно меньше.

Да и таскать длл мне с собой ненадо - должно быть все в одном ехе
PM MAIL ICQ   Вверх
vadims
Дата 6.7.2005, 17:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 305
Регистрация: 8.6.2005

Репутация: нет
Всего: 17



Вообще-то могу, что-то попутать и ввести в заблуждение, тк и ассемблер подзабыл и на Delphi давно(и немного) не работал, но общий принцип наверное такой
1. в asm'ком тексте все нужные имена функций объяви как public (там еще вариант global помоему есть)
2. для каждой asm функции напиши функцию на делфи которая:
- через ассемблерные вставки передает параметры 'сверху' в виде предусмотренном в исходных функциях;
- вызывает саму процедуру
- возвращаемые параметры из asm функций в вид дельфийских
не забудь перед вызовом сохранить, а после восстановить значения РОН'ов. Чтобы не думать push их всех в стек и pop потом обратно

Если я конечно не путаю и Delphi позволяет использовать ассемблерные вставки и подключать obj файлы


--------------------
Cpu not found ! Press any key for software emulation.
PM MAIL   Вверх
WolfON
Дата 6.7.2005, 18:48 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 604
Регистрация: 19.7.2004

Репутация: нет
Всего: 8



vadims
Мне нужно в ассемблерную прогу вставить объектный файл с функциями на дельфе. а не наоборот.
PM MAIL ICQ   Вверх
vadims
Дата 6.7.2005, 19:46 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 305
Регистрация: 8.6.2005

Репутация: нет
Всего: 17



WolfON Сорри, не вник - еще подумаю


--------------------
Cpu not found ! Press any key for software emulation.
PM MAIL   Вверх
vadims
Дата 6.7.2005, 20:26 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 305
Регистрация: 8.6.2005

Репутация: нет
Всего: 17



Вот такая мысль
1. Если тебе просто удобней писать код на Delphi и нет необходимости использовать компонентную ее сторону, то напиши ее просто на Паскале и останется только вопрос изучения интерфейса ассемблер-паскаль, там все вполне реально
Общий принцип вызовов паскалевских функций есть в моих постах в
http://forum.vingrad.ru/index.php?showtopi...30&#entry449342
Но это только общий принцип – писал по памяти

2. Если тебе все же нужны именно возможности Delphi, что бы без проблем подтащить VCL и тд , ты делай все что нужно на Дельфи, а основная функция программы будет просто вызывать основную ассемблерную функцию. Интерфейс тот же.



--------------------
Cpu not found ! Press any key for software emulation.
PM MAIL   Вверх
WolfON
Дата 8.7.2005, 23:01 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 604
Регистрация: 19.7.2004

Репутация: нет
Всего: 8



Подумаю....

Просто некоторые компоненты в дельфе снимают лбвиную доли работы по сравнению с перепиской на асме...
PM MAIL ICQ   Вверх
vadims
Дата 8.7.2005, 23:08 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 305
Регистрация: 8.6.2005

Репутация: нет
Всего: 17



Цитата(WolfON @ 8.7.2005, 23:01)
Просто некоторые компоненты в дельфе снимают лбвиную доли работы по сравнению с перепиской на асме...
И ... ???
А они для этого и сделаны

Ты что хотел все-таки использовать возможности VCL не подтаскивая и не инициализируя ее. Ведь это не просто отдельные функции - а целая система
Если так - то у тебя имхо выбора нет - только то что я тебе прдложил во втором варианте



--------------------
Cpu not found ! Press any key for software emulation.
PM MAIL   Вверх
jack128_
Дата 8.7.2005, 23:11 (ссылка)    |    (голосов: 0) Загрузка ... Загрузка ... Быстрая цитата Цитата


Unregistered











Цитата(WolfON @ 6.7.2005, 16:14)
Длл в дельфе - начиная с 400 кб.

Ты глючишь. Если ты используешь VCL - то это твои личные проблемы, в противном случае dll'ка и пяток кб может быть..

Цитата(WolfON @ 8.7.2005, 23:01)
Просто некоторые компоненты в дельфе снимают лбвиную доли работы по сравнению с перепиской на асме
вот за это удобство ты и платишь размером.

ЗЫ у не знаю, какую дельфи ты используешь и какой асм, но если >3 версии, то обж файл ты все равно не сможешь включить в свою асм прогу, так как есть в дельфийских obj особенности формата...
ЗЗЫ Странный подход - основную прогу писать на асме, а вспомогательные функции на дельфи.. Обычно наоборот делают..
  Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: Общие вопросы"
SnowyMetalFan
bemsPoseidon
Rrader

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Литературу по Дельфи обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • 90% ответов на свои вопросы можно найти в DRKB (Delphi Russian Knowledge Base) - крупнейшем в рунете сборнике материалов по Дельфи


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, MetalFan, bems, Poseidon, Rrader.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Delphi: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.2003 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.