![]() |
Здравствуйте, гость ( Вход | Регистрация )
![]() |
AntonTatu |
![]()
Сообщение
#1
|
Студент ![]() Группа: Участник Сообщений: 48 Регистрация: 27.11.2008 Пользователь №: 437 Спасибо сказали: 0 раз(а) Репутация: ![]() ![]() ![]() |
Всем привет !
Вопрос в следующем, имеется прога которая генерирует некоторую формулу (формула меняет количество своих параметров в зависимости от исходных значений в программе ), в этой же проге есть массив который использует полученную формулу в дальнейших расчетах, хочется создать из формулы dll ку и потом ее вызывать в нужном месте программы, как это сделать? С вызовом полученной dll я вроде бы разобрался, а вот как научить прогу генерить dll ку понять не могу. ЗЫ: Какие можно использовать компилятор/линковщик (минимум занимаемого места, требуемых для работы файлов, потдержка STL требуется) Выручайте ! ![]() |
|
|
![]() |
Litkevich Yuriy |
![]()
Сообщение
#2
|
![]() разработчик РЭА ![]() ![]() ![]() ![]() ![]() ![]() ![]() Группа: Сомодератор Сообщений: 9669 Регистрация: 9.1.2008 Из: Тюмень Пользователь №: 64 Спасибо сказали: 807 раз(а) Репутация: ![]() ![]() ![]() |
|
|
|
AntonTatu |
![]()
Сообщение
#3
|
Студент ![]() Группа: Участник Сообщений: 48 Регистрация: 27.11.2008 Пользователь №: 437 Спасибо сказали: 0 раз(а) Репутация: ![]() ![]() ![]() |
А что по скорости выполнения ? , вот что написано у М.Шлее: рекомендую для начала по пробовать, и если на практике окажется неприемлемое быстродействие, тогда будешь искать другой вариант.ну вобщем попробовал, если использовать QtScript получается оччень медлено, использовал следующий скрипт:
х - это массив значений посчитанный в С++ и переданный скрипту engine.globalObject().setProperty("x", MyArray); в теле функции в скрипте используются различные значения массива x[i][j], я так понимаю что медленно потому что приходится скрипту передавать весь массив целиком (т.е. делать для него копию), а при использовании dll ки весь массив не копируется, а значение передается по ссылке, а может быть можно как то в скрипту указывать ссылку а не делать "копию" всех значений массива ? |
|
|
Гость_BRE_* |
![]()
Сообщение
#4
|
Гости ![]() |
я так понимаю что медленно потому что приходится скрипту передавать весь массив целиком (т.е. делать для него копию), а при использовании dll ки весь массив не копируется, а значение передается по ссылке, а может быть можно как то в скрипту указывать ссылку а не делать "копию" всех значений массива ? Самое простое сделать класс (еще проще (но не обязательно) если наследоваться от QObject), который будет управлять твоим массивом и обеспечить доступ к объекту этого класса из контекста скрипта.
А дальше из скрипта можно доставать значения используя arr.at( i, j ). |
|
|
![]() ![]() ![]() |
![]() |
|
Текстовая версия | Сейчас: 20.6.2025, 10:35 |