![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Дельфийские аналоги функций _lrotr и _lrotr [D7, WinXP]
andreil © (2008-05-06 23:53:00)Собственно никтог не видел? А то без них никак OBJ-файл не подключить, ругается на отсутствие этих функций. Их описание я на шел, но вот сами функции - нет :(
Поможет кто?
DevilDevil (2008-05-12 11:26:00) [1]KOL погубит мир О_о
andreil (2008-05-10 14:49:00) [2]
> а они всяко будут более 1 еб.
Щас проверю :)
..... Добавил ДЛЛку как ресурс. Работы с ней пока нету. 58 392 байт (оригинал, без сжатия, - 106 056 байт)....
......Добавил работу с ресурсом - 58 880/107 520 байт.
Как видно, на размер сильно не повлияло :)
А залог этого - КОЛ :))))
Anatoly Podgoretsky (2008-05-10 13:54:00) [3]> andreil (10.05.2008 12:22:38) [38]
19 кб целесообразно, а 20 уже нет. А к этим 19 кб ты прибавил операции по манипулированию с ним как с ресурсом, а они всяко будут более 1 еб.
andreil (2008-05-10 12:22:00) [4]Не, лучше уж таскать ее с собой, ка ресурс, ведь:
1) весит она 19Кб;
2) в моей программе есть функции инициализации/деинициализации, вот по ним и будем извлекать/удалять ДЛЛку.
Другого выхода я не вижу, тк:
1) подключить OBJ-файл, судя по всему, не получится;
2) если включить в состав программы ДЛЛку виде ПАС-модуля, как в статье, то это даст 20Кб прироста к размеру программы, а она весит со всеми файлами ровно 96Кб, так что не целесообразно.
DevilDevil (2008-05-09 13:01:00) [5]> andreil © (08.05.08 21:39) [33]
если так ине выдет с obj-ами, вот альтернативный вариант не таскать за собой dll:
http://www.delphikingdom.com/asp/viewitem.asp?catalogid=1294
скачивай "Тестовый пример" в конце статьи
Германн (2008-05-09 01:06:00) [6]
> Дмитрий Белькевич © (09.05.08 01:00) [35]
>
> >Теперь лишился детских иллюзий
>
> Век живи - век учись, всё равно дураком помрёшь...
>
Ну, судя по анкете, у тебя ещё много времени, чтобы опровергнуть сей афоризм. :)
34 года это ещё молодость.
Дмитрий Белькевич (2008-05-09 01:00:00) [7]>Теперь лишился детских иллюзий
Век живи - век учись, всё равно дураком помрёшь...
Германн (2008-05-08 21:49:00) [8]
> andreil © (08.05.08 21:39) [33]
Про соглашения о вызовах справку читал?
andreil (2008-05-08 21:39:00) [9]
> Сильно подозреваю, что в тех других местах тоже можно переписать
> проще. Хочешь - выкладывай код: подумаем, как именно. Возможно,
> от етих функций вообще удастся избавиться. А так, имхо,
> ошибка не в приведённых выше функциях, а в коде непосредственно_до/сразу_после
> их вызова.
Говорю сразу - исходник 100%рабочий, тк он уже участвует в моей программе в виде ДЛЛки. Но вся соль в том, что моя программа - тоже ДЛЛка, так что тягать еще один файл как минимум некультурно.
Пока попробую перевести на Дельфи....
Anatoly Podgoretsky (2008-05-08 19:15:00) [10]> Дмитрий Белькевич (08.05.2008 17:44:31) [31]
Теперь лишился детских иллюзий
Дмитрий Белькевич (2008-05-08 17:44:00) [11]>The reserved word inline and the directive assembler are maintained for backward compatibility only. They have no effect on the compiler.
Кгхм. Вот жеж козлы, а я свято верил ;)
Renegat (2008-05-08 17:01:00) [12]> Спасибо, конечно, но эти функции используются и в других местах ;)
Сильно подозреваю, что в тех других местах тоже можно переписать проще. Хочешь - выкладывай код: подумаем, как именно. Возможно, от етих функций вообще удастся избавиться. А так, имхо, ошибка не в приведённых выше функциях, а в коде непосредственно_до/сразу_после их вызова.
Anatoly Podgoretsky (2008-05-08 16:43:00) [13]> Дмитрий Белькевич (08.05.2008 16:15:27) [27]
Чего?
Справку умеешь читать?
Попробуй, просветляет.
Германн (2008-05-08 16:27:00) [14]
> andreil © (08.05.08 16:01) [25]
>
> Только что подставил эту функцию в код - вылет с aCCESvIolation
> :(
> Надо все-таки покопаться в АСМе...
>
Не надо копаться в АСМе. В этих 6 строчках просто негде копаться. Надо подобрать правильное соглашение о вызовах.
Дмитрий Белькевич (2008-05-08 16:15:00) [15]Не сильно вникая в тему. ИМХО наиболее правильно писать не cdecl, stdtcall etc, а assembler. Что бы фреймов входа/выхода в функцию не было. Но могу ошибаться - нужно смотреть.
Дмитрий Белькевич (2008-05-08 16:08:00) [16]
> Надо все-таки покопаться в АСМе...
Бряк + ctrl-alt-c в помощь. Там всё просто - два задействованных регистра, посмотришь что как крутится и куда попадает.
andreil (2008-05-08 16:01:00) [17]Только что подставил эту функцию в код - вылет с aCCESvIolation :(
Надо все-таки покопаться в АСМе...
andreil (2008-05-08 15:51:00) [18]
> Если так, то
Спасибо, конечно, но эти функции используются и в других местах ;)
DevilDevil (2008-05-08 12:50:00) [19]> andreil © (07.05.08 20:18) [18]
подозреваю, что ошибка не в этих функциях.
Германн (2008-05-08 00:39:00) [20]
> Тыщ © (08.05.08 00:13) [20]
Да какая разница? Запустится, не запустится. Ты найди во всём мире хоть один рабочий комплект .386 + матплата + память + видеокарта. О такой мелочи как мышь и клавиатура я уже молчу. Их разъёмы хоть перепаять можно. :)