Author Topic: динамические библиотеки .dll  (Read 3003 times)

0 Members and 1 Guest are viewing this topic.

Shen_De_Lar

  • Зашел в гости
  • *
  • Posts: 10
    • View Profile
динамические библиотеки .dll
« on: May 10, 2014, 05:05:00 PM »
Помогите разобраться. Впервые столкнулся с этим делом, попробовал http://life-prog.ru/view_zam.php?id=189&cat=2&page=3. Все сделал, работает. Оставил одну функцию только, запихнул файл .dll к проекту - ошибка интерпретации при вызове CALL. Ну видимо надо в самом проекте библиотеки настраивать как-то связь с кликером, но проектов-исходников-примеров, о которых говорилось в справке нигде не нашёл. Ну в папке с кликерманом лежат две dll библиотеки, но это уже готовые решения - не то оно. И вобще я тут на форуме что-то не нашел тем подобных, одна была - и то безответная.

p.s. Я же правильно понимаю, что основные вычисления/рассчеты лучше в библиотеке делать? Ибо в интерпретаторе все эти циклы довольно медленно работают, при решении с-мы из 3-5-ти линейных уравнений уже тормозит.
p.p.s. Как организовать передачу целочисленного массива в плагин, кроме как поэлементно? Можно как-нибудь передать адрес в плагин, чтобы он начиная с этого адреса информацию нужную считал?
« Last Edit: May 10, 2014, 05:46:14 PM by Shen_De_Lar »

Oraven

  • Супермодератор
  • Герой форума
  • *
  • Posts: 3685
  • Котэ
    • View Profile
Re: динамические библиотеки .dll
« Reply #1 on: May 10, 2014, 05:51:38 PM »
Скачай Clickermann v4.7.003 SE там есть образцы плагинов.
http://crapware.aidf.org/files/4/

Johnny

  • Создатель
  • Герой форума
  • *
  • Posts: 593
    • View Profile
Re: динамические библиотеки .dll
« Reply #2 on: May 11, 2014, 05:53:44 AM »
p.s. Я же правильно понимаю, что основные вычисления/рассчеты лучше в библиотеке делать? Ибо в интерпретаторе все эти циклы довольно медленно работают, при решении с-мы из 3-5-ти линейных уравнений уже тормозит.
ну то что программа написанная в машинном коде работает быстрее чем интерпретатор это общеизвестный факт. причем это пожалуй характерно для подовляющего большинства задач. хотя опять же иной раз быстродействием можно принебречь, учитывая класс задач решаемых с помощью кликера.

Quote
p.p.s. Как организовать передачу целочисленного массива в плагин, кроме как поэлементно? Можно как-нибудь передать адрес в плагин, чтобы он начиная с этого адреса информацию нужную считал?
вот тут сложнее. плагины (если ЭТО решение вообще этично так называть) реализовывались очень давно, когда в кликере по сути даже не было никаких особо функций и проще было сделать это так. с того времени этот механизм никак не изменялся (возможно потому что ненашел особо отклика в массах). в современных условиях имеющийся механизм выглядит даже еще более архаично чем запись.

что я тебе могу порекомендовать. учитывая текущую работу плагинов, тебе будет проще реализовать некий буфер (допустим текстовый файл) через который обмениваться данными со скриптом из плагина. к сожалению "удобной и красивой" передачи параметров непосредственно в выхове у нас пока нет.
в отличие кстати от вызова стороннего ехе (через который тоже можно решить задачу), вызов плагина удобен тем, что он "ждет" пока отработает плагин и только потом пускает скрипт дальше.