Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Дельфийские аналоги функций _lrotr и _lrotr [D7, WinXP]


Страницы:   1 2 3

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 + матплата + память + видеокарта. О такой мелочи как мышь и клавиатура я уже молчу. Их разъёмы хоть перепаять можно. :)


Страницы:   1 2 3

Наверх

Титульная страница Поиск, карта сайта Написать письмо