![]() |
Здравствуйте, гость ( Вход | Регистрация )
![]() |
AntonTatu |
![]()
Сообщение
#1
|
Студент ![]() Группа: Участник Сообщений: 48 Регистрация: 27.11.2008 Пользователь №: 437 Спасибо сказали: 0 раз(а) Репутация: ![]() ![]() ![]() |
Всем привет !
Вопрос в следующем, имеется прога которая генерирует некоторую формулу (формула меняет количество своих параметров в зависимости от исходных значений в программе ), в этой же проге есть массив который использует полученную формулу в дальнейших расчетах, хочется создать из формулы dll ку и потом ее вызывать в нужном месте программы, как это сделать? С вызовом полученной dll я вроде бы разобрался, а вот как научить прогу генерить dll ку понять не могу. ЗЫ: Какие можно использовать компилятор/линковщик (минимум занимаемого места, требуемых для работы файлов, потдержка STL требуется) Выручайте ! ![]() |
|
|
![]() |
SABROG |
![]()
Сообщение
#2
|
![]() Профессионал ![]() ![]() ![]() ![]() ![]() Группа: Участник Сообщений: 1207 Регистрация: 8.12.2008 Из: Russia, Moscow Пользователь №: 446 Спасибо сказали: 229 раз(а) Репутация: ![]() ![]() ![]() |
Я так понял, что у него проблема с тем, что в рантайме надо выполнять сгенеренную формулу, но из-за всяких проверок (машина с конечным автоматом) это происходит медленно, в то время как современные компиляторы оптимизируют любую формулу еще на этапе компиляции и превращают её в машинный код, который не проверяет никаких условий (тип операции: умножение, деление и т.д.), а работает только с данными. Короче готовый продукт.
На самом деле мне приходит на ум только одна область где может применяться технология - архивация/сжатие данных, а dll или exe - SFX распаковщик. Но это с учетом того, что архиватор генерит некую уникальную формулу на основе подсунутых файлов, которые надо сжать. |
|
|
BRE |
![]()
Сообщение
#3
|
![]() Профессионал ![]() ![]() ![]() ![]() ![]() Группа: Участник Сообщений: 1112 Регистрация: 6.3.2009 Из: Ростов-на-Дону Пользователь №: 591 Спасибо сказали: 264 раз(а) Репутация: ![]() ![]() ![]() |
Я так понял, что у него проблема с тем, что в рантайме надо выполнять сгенеренную формулу, но из-за всяких проверок (машина с конечным автоматом) это происходит медленно, в то время как современные компиляторы оптимизируют любую формулу еще на этапе компиляции и превращают её в машинный код, который не проверяет никаких условий (тип операции: умножение, деление и т.д.), а работает только с данными. Короче готовый продукт. Цитата формула считается в цикле, с каждой итерацией формула новая, ее длинна то же может изменится..., переменные в формуле это значения разных ячеек массива, на выходе каждой итерации необходимо получить расчетное значение итой формулы, колличество прогонов (итераций) миллионы.... Т.е. на каждой итерации как-то генерируется разная формула -> собирать библиотеку на каждой итерации. На самом деле встает вопрос, почему не вычислять формулу на этапе ее генерации? Получили x[0,j]*x[2,j]*x[5,j]*x[10,j] - посчитали, получили x[0,j]*x[3,j]*x[4,j] - посчитали, прибавили. Конечно, здесь необходимо уточнить как, кто и какую формулу можно сгенерировать. Может формула состоит из повторяющихся выражений с разными переменными, здесь тоже можно попробовать помудрить. Короче, тут простор для исследований, все нужно пробавать. IMHO, путь с realtime-генерацией библиотеками, ээээ, ну не опревданный что-ли. |
|
|
![]() ![]() ![]() |
![]() |
|
Текстовая версия | Сейчас: 21.6.2025, 2:31 |