![]() |
Здравствуйте, гость ( Вход | Регистрация )
![]() ![]() |
![]() |
AntonTatu |
![]()
Сообщение
#11
|
Студент ![]() Группа: Участник Сообщений: 48 Регистрация: 27.11.2008 Пользователь №: 437 Спасибо сказали: 0 раз(а) Репутация: ![]() ![]() ![]() |
|
|
|
ViGOur |
![]()
Сообщение
#12
|
![]() Мастер ![]() ![]() ![]() ![]() ![]() ![]() Группа: Модератор Сообщений: 3296 Регистрация: 9.10.2007 Из: Москва Пользователь №: 4 Спасибо сказали: 231 раз(а) Репутация: ![]() ![]() ![]() |
а "скрипты генерить" это и есть QtScript ? (что почитать ?) QtScript - для того, чтобы скрипты писать. А что они будут делать, зависит только от тебя. ![]() Почитай: QtScript Module Сообщение отредактировал ViGOur - 4.3.2009, 21:11 |
|
|
trdm |
![]()
Сообщение
#13
|
Дмитрий Трошин ![]() ![]() ![]() ![]() Группа: Участник Сообщений: 575 Регистрация: 12.1.2008 Пользователь №: 68 Спасибо сказали: 21 раз(а) Репутация: ![]() ![]() ![]() |
Попробую объяснить по другому: ....поскипано.... все это крайне странно выглядит.... а "скрипты генерить" это и есть QtScript ? (что почитать ?) QtScript - для того, чтобы скрипты писать. А что они будут делать, зависит только от тебя. ![]() Почитай: QtScript Module QtScript - для того, чтобы скрипты ИСПОЛНЯТЬ. Разница существенная. Таки как раз в скрипт можно передавать сгенеренную формулу, а на выходе получит результ её исполнения. |
|
|
AntonTatu |
![]()
Сообщение
#14
|
Студент ![]() Группа: Участник Сообщений: 48 Регистрация: 27.11.2008 Пользователь №: 437 Спасибо сказали: 0 раз(а) Репутация: ![]() ![]() ![]() |
[/quote]
QtScript - для того, чтобы скрипты ИСПОЛНЯТЬ. Разница существенная. Таки как раз в скрипт можно передавать сгенеренную формулу, а на выходе получит результ её исполнения. [/quote] А что по скорости выполнения ? , вот что написано у М.Шлее: "При создании объектов функций важно учитывать то обстоятельство, что трансляция объекта Function выполняется при каждом его использовании, вследствие чего исполнение кода будет гораздо медленнее, чем при исполнении обычных функций языка сценариев. " Насколько на Ваш взгляд такая функция будет выполнятся медленнее чем скомпилированная в dll ку ? |
|
|
trdm |
![]()
Сообщение
#15
|
Дмитрий Трошин ![]() ![]() ![]() ![]() Группа: Участник Сообщений: 575 Регистрация: 12.1.2008 Пользователь №: 68 Спасибо сказали: 21 раз(а) Репутация: ![]() ![]() ![]() |
Цитата QtScript - для того, чтобы скрипты ИСПОЛНЯТЬ. Разница существенная. Таки как раз в скрипт можно передавать сгенеренную формулу, а на выходе получит результ её исполнения. А что по скорости выполнения ? , вот что написано у М.Шлее: "При создании объектов функций важно учитывать то обстоятельство, что трансляция объекта Function выполняется при каждом его использовании, вследствие чего исполнение кода будет гораздо медленнее, чем при исполнении обычных функций языка сценариев. " Насколько на Ваш взгляд такая функция будет выполнятся медленнее чем скомпилированная в dll ку ? нормальное замечание. не знаю. если верить Шлее и предположить, что трансляция - есть разбор+интерпретирование, тогда использование QtScript может быть и не оправдано.... есть скриптовые языки у которых разделены фазы разбора+формирование байткода и интерпретация. я так понял формула некоторое время не меняется, а входные параметры меняются. правильно? |
|
|
AntonTatu |
![]()
Сообщение
#16
|
Студент ![]() Группа: Участник Сообщений: 48 Регистрация: 27.11.2008 Пользователь №: 437 Спасибо сказали: 0 раз(а) Репутация: ![]() ![]() ![]() |
Цитата нормальное замечание. не знаю. если верить Шлее и предположить, что трансляция - есть разбор+интерпретирование, тогда использование QtScript может быть и не оправдано.... есть скриптовые языки у которых разделены фазы разбора+формирование байткода и интерпретация. я так понял формула некоторое время не меняется, а входные параметры меняются. правильно? ну в общем да, получается что то вроде цикла: формула 1 -> фходные параметры 1 формула 1 -> фходные параметры 2 формула 1 -> фходные параметры 3 формула 1 -> фходные параметры N формула 2 -> фходные параметры 1 формула 2 -> фходные параметры 2 формула 2 -> фходные параметры N формула k -> фходные параметры N формула 1 -> фходные параметры 1 формула 1 -> фходные параметры 2 формула 1 -> фходные параметры 3 и т.д. Я в принципе уже написал вариант на Delphi, в нем для того чтобы использовать компилятор достаточно выдрать экзешник + пару дллок.., теперь переписываю под QT, а вот компилятор С++ подобрать не могу все за собой хвост тащат в энное кол во мегабайт и файлов... |
|
|
SABROG |
![]()
Сообщение
#17
|
![]() Профессионал ![]() ![]() ![]() ![]() ![]() Группа: Участник Сообщений: 1207 Регистрация: 8.12.2008 Из: Russia, Moscow Пользователь №: 446 Спасибо сказали: 229 раз(а) Репутация: ![]() ![]() ![]() |
Формула может быть огромна, разбирать ее на лету с помощью ну к примеру конечных автоматов нереально долго (пробовал) Как сохранить формулу в текстовый файл (С++) проблемы нет, как использовать созданную dll вроде то же понятно (в Google есть) Вопрос в том какой компилятор (С++) использовать ? (должен уметь STL и требовать как можно меньше файлов для запуска себя (один экзешник и все было бы замечательно), что бы вместе со своей прогой еще и 200 мб, компилятора не таскать) , может есть где пример вызова компилятора из командной строки очень поможет. И еще вопрос, какие компиляторы можно использовать если я пишу софт на продажу (ну это так для общего развития) ![]() Если взвешивать все за и против, то получается такая картина. Лучше C/C++ компилятора никакой скриптовый язык не даст нужной оптимизации кода под конкретный процессор, к тому же, естественно, машинный код будет выполняться гораздо быстрее. Из-за такой особенности получается, что саму программу придется разбить на серверную (демон) и клиентские части. Если клиентская часть достаточно быстро разбирает рисунок и переводит её в формулу, то на сервер можно отправлять только сам текст этой формулы. Иначе тупо предоставлять интерфейс для заливки рисунка на сервер. Это может быть и php скрипт. Задача сервера по формуле сформировать исходники и передать на выполнение компилятору. Затем сервер информирует клиента, что модуль готов и клиент добавляет его к себе в лист. После этого этим модулем можно пользоваться, но запускаться он будет на серверной машине по команде клиента. Смена компиляторов и ОС будет для пользователя прозрачной. Совсем другое дело, если пишется какой-нибудь новый архиватор типа winrar'a, тут тогда ситуация безвыходная. Либо размер дистрибутива вместе с компилятором, либо скорость. |
|
|
Константин |
![]()
Сообщение
#18
|
![]() Студент ![]() Группа: Участник Сообщений: 69 Регистрация: 9.2.2009 Пользователь №: 539 Спасибо сказали: 15 раз(а) Репутация: ![]() ![]() ![]() |
потому, что компилятор предназначен для компилирования. и тащит компилятор за собой ровно столько, сколько хочет за собой таскать, т.к. является опциональной базой любого дистриутива, в котором может потребоваться что-то собрать. и люди в здравом уме используют компилятор по прямому назначению, а не таскают его /* куски */ за своими проектами в весьма сомнительных целях.
если беспокоит скорость работы QtScript, welcome to Python; иначе QtScript и минимум мозго????ва. |
|
|
Litkevich Yuriy |
![]()
Сообщение
#19
|
![]() разработчик РЭА ![]() ![]() ![]() ![]() ![]() ![]() ![]() Группа: Сомодератор Сообщений: 9669 Регистрация: 9.1.2008 Из: Тюмень Пользователь №: 64 Спасибо сказали: 807 раз(а) Репутация: ![]() ![]() ![]() |
|
|
|
trdm |
![]()
Сообщение
#20
|
Дмитрий Трошин ![]() ![]() ![]() ![]() Группа: Участник Сообщений: 575 Регистрация: 12.1.2008 Пользователь №: 68 Спасибо сказали: 21 раз(а) Репутация: ![]() ![]() ![]() |
PS: Формула может быть огромна, разбирать ее на лету с помощью ну к примеру конечных автоматов нереально долго (пробовал) странно, у меня например глобальный модуль от 1С-ки весит 1.5 Мб. Разбирал с пом. bison-a, 2-3 секунды.... не пойму, что у вас с быстродействием. |
|
|
![]() ![]() ![]() |
![]() |
|
Текстовая версия | Сейчас: 18.2.2025, 10:41 |