Конференция "Основная" » Дельфийские аналоги функций _lrotr и _lrotr [D7, WinXP]
 
  • Тыщ © (08.05.08 00:13) [20]
    Renegat   (07.05.08 20:22) [19]

    > совместимость со старым хламом типа .286 и .386

    Гм, а на 386 хотя бы Windows 95 запустится? Если нет, то обеспечивать такую совместимость в прикладных прогах смысла никакого.
  • Renegat (08.05.08 00:34) [21]
    > Гм, а на 386 хотя бы Windows 95 запустится?

    А то как же? Правда тормозов будет... ууу %)
    Ибо триставосьмидесятники они уже 32-разрядные, в отличие от двести-, сто-, и просто восьмидесятников.
    В принципе, под двойки пожет пойти Win 3.11 - а посему совместимость тоже нужна :D
  • Германн © (08.05.08 00:39) [22]

    > Тыщ ©   (08.05.08 00:13) [20]

    Да какая разница? Запустится, не запустится. Ты найди во всём мире хоть один рабочий комплект .386 + матплата + память + видеокарта. О такой мелочи как мышь и клавиатура я уже молчу. Их разъёмы хоть перепаять можно. :)
  • DevilDevil © (08.05.08 12:50) [23]
    > andreil ©   (07.05.08 20:18) [18]
    подозреваю, что ошибка не в этих функциях.
  • andreil © (08.05.08 15:51) [24]

    > Если так, то

    Спасибо, конечно, но эти функции используются и в других местах ;)
  • andreil © (08.05.08 16:01) [25]
    Только что подставил эту функцию в код - вылет с aCCESvIolation :(
    Надо все-таки покопаться в АСМе...
  • Дмитрий Белькевич © (08.05.08 16:08) [26]

    > Надо все-таки покопаться в АСМе...


    Бряк + ctrl-alt-c в помощь. Там всё просто - два задействованных регистра, посмотришь что как крутится и куда попадает.
  • Дмитрий Белькевич © (08.05.08 16:15) [27]
    Не сильно вникая в тему. ИМХО наиболее правильно писать не cdecl, stdtcall etc, а assembler. Что бы фреймов входа/выхода в функцию не было. Но могу ошибаться - нужно смотреть.
  • Германн © (08.05.08 16:27) [28]

    > andreil ©   (08.05.08 16:01) [25]
    >
    > Только что подставил эту функцию в код - вылет с aCCESvIolation
    > :(
    > Надо все-таки покопаться в АСМе...
    >

    Не надо копаться в АСМе. В этих 6 строчках просто негде копаться. Надо подобрать правильное соглашение о вызовах.
  • Anatoly Podgoretsky © (08.05.08 16:43) [29]
    > Дмитрий Белькевич  (08.05.2008 16:15:27)  [27]

    Чего?
    Справку умеешь читать?
    Попробуй, просветляет.
  • Renegat (08.05.08 17:01) [30]
    > Спасибо, конечно, но эти функции используются и в других местах ;)

    Сильно подозреваю, что в тех других местах тоже можно переписать проще. Хочешь - выкладывай код: подумаем, как именно. Возможно, от етих функций вообще удастся избавиться. А так, имхо, ошибка не в приведённых выше функциях, а в коде непосредственно_до/сразу_после их вызова.
  • Дмитрий Белькевич © (08.05.08 17:44) [31]
    >The reserved word inline and the directive assembler are maintained for backward compatibility only. They have no effect on the compiler.

    Кгхм. Вот жеж козлы, а я свято верил ;)
  • Anatoly Podgoretsky © (08.05.08 19:15) [32]
    > Дмитрий Белькевич  (08.05.2008 17:44:31)  [31]

    Теперь лишился детских иллюзий
  • andreil © (08.05.08 21:39) [33]

    > Сильно подозреваю, что в тех других местах тоже можно переписать
    > проще. Хочешь - выкладывай код: подумаем, как именно. Возможно,
    >  от етих функций вообще удастся избавиться. А так, имхо,
    >  ошибка не в приведённых выше функциях, а в коде непосредственно_до/сразу_после
    > их вызова.

    Говорю сразу - исходник 100%рабочий, тк он уже участвует в моей программе в виде ДЛЛки. Но вся соль в том, что моя программа - тоже ДЛЛка, так что тягать еще один файл как минимум некультурно.
    Пока попробую перевести на Дельфи....
  • Германн © (08.05.08 21:49) [34]

    > andreil ©   (08.05.08 21:39) [33]

    Про соглашения о вызовах справку читал?
  • Дмитрий Белькевич © (09.05.08 01:00) [35]
    >Теперь лишился детских иллюзий

    Век живи - век учись, всё равно дураком помрёшь...
  • Германн © (09.05.08 01:06) [36]

    > Дмитрий Белькевич ©   (09.05.08 01:00) [35]
    >
    > >Теперь лишился детских иллюзий
    >
    > Век живи - век учись, всё равно дураком помрёшь...
    >

    Ну, судя по анкете, у тебя ещё много времени, чтобы опровергнуть сей афоризм. :)
    34 года это ещё молодость.
  • DevilDevil © (09.05.08 13:01) [37]
    > andreil ©   (08.05.08 21:39) [33]

    если так ине выдет с obj-ами, вот альтернативный вариант не таскать за собой dll:
    http://www.delphikingdom.com/asp/viewitem.asp?catalogid=1294

    скачивай "Тестовый пример" в конце статьи
  • andreil (10.05.08 12:22) [38]
    Не, лучше уж таскать ее с собой, ка ресурс, ведь:
    1) весит она 19Кб;
    2) в моей программе есть функции инициализации/деинициализации, вот по ним и будем извлекать/удалять ДЛЛку.
    Другого выхода я не вижу, тк:
    1) подключить OBJ-файл, судя по всему, не получится;
    2) если включить в состав программы ДЛЛку  виде ПАС-модуля, как в статье, то это даст 20Кб прироста к размеру программы, а она весит со всеми файлами ровно 96Кб, так что не целесообразно.
  • Anatoly Podgoretsky © (10.05.08 13:54) [39]
    > andreil  (10.05.2008 12:22:38)  [38]

    19 кб целесообразно, а 20 уже нет. А к этим 19 кб ты прибавил операции по манипулированию с ним как с ресурсом, а они всяко будут более 1 еб.
 
Конференция "Основная" » Дельфийские аналоги функций _lrotr и _lrotr [D7, WinXP]
Есть новые Нет новых   [134491   +8][b:0][p:0]