1

У меня есть скрипт VBScript с 2000 строк, который постепенно замедляется с каждым добавленным мной кодом. Он был создан как частная помощь для отладки, и теперь это стало действительно полезным. Я хочу отполировать его и отправить его вместе с нашим продуктом.Любой опыт компиляции VBScript?

Я думал, что могу ускорить его, скомпилировав его и сделав его EXE. Кроме того, я хочу иметь пользовательский интерфейс для моего инструмента, который может быть возможен после использования дополнительных библиотек, которые может дать мне компиляционная платформа. Я также рассматриваю возможность расширения скрипта, вызвав функции Win32 для любых отсутствующих функций, которые мне нужны.

У меня есть VB 6.0 или я могу купить внешний компилятор. Но мне также нужна созданная программа (а не сам компилятор), чтобы нормально работать в Windows Vista. Каковы мои лучшие варианты?

ответ

4

Я бы порекомендовал вам загрузить Visual Basic Express Edition (http://www.microsoft.com/express/vb/) и перенести свой инструмент на VB.Net. Однако этот подход имеет один недостаток - ваша программа будет зависеть от .Net. По большей части это не должно быть большой проблемой, так как в настоящее время большинство машин должно иметь .Net 2.0, но все же лучше помнить об этом.

Я бы держался подальше от VB6.0; однако, помимо VB.Net, я не знаю других хороших базовых компиляторов, которые вы могли бы использовать.

4

Скорее всего, это скорее медлительность, чем просто факт ее интерпретации. Возможно, есть несколько оптимизаций, которые вы могли бы сделать, чтобы сделать это быстрее. Попытайтесь найти, какие части кода замедляют его и пытаются ускорить их.

В зависимости от того, что может сделать код VB6. Если это будет иметь дело с естественным текстом/именами файлов, тогда было бы лучше использовать VB.net, потому что VB6 не поддерживает Unicode.

Но я чувствую, что даже после компиляции он все еще может быть медленным, потому что компиляция только заставит его работать быстрее, но не более эффективно.

0

Трудно сказать, не зная больше о том, что делает программа, или о том, сколько данных она обрабатывает.

Я согласен с Franci - VB6 больше не продается и не поддерживается, поэтому VB.Net станет способом скомпилированного кода. (Express является бесплатным.) VBScript не очень похож на VB.Net, так что это может быть хорошей работой для порта, если это не все запросы WMI или LDAP или что-то в этом роде.

Я бы начал определять моменты, чтобы увидеть, где ваши узкие места. Если вы не выполняете тонны циклов и многоуровневые функции, вы, вероятно, застряли на внешних вызовах.

wscript.echo "Begin: " & Time 
tStartTime = Timer 
'... do stuff ... 
tStopTime = Timer 
wscript.echo "Elapsed time: " & tStopTime - tStartTime 

Приветствия

3

Ну ... Есть целый ряд "хороших" BASIC компиляторов там:

являются те, которые приходят на ум немедленно. Довольно многие из них указаны на сайте mindteq. (Jabaco особенно интересен - VB6 снова выражен на Java. Я поиграл с ним, и он выглядит очень многообещающим!)

Но, возвращаясь к компиляторам VBScript, они существуют. То, что они делают, - это токенизировать код и помещать вокруг них какую-то обертку. бежать ли они быстрее спорно.

+0

BCX позволит вам вставлять определенные команды VBScript, а затем вы можете скомпилировать это. – bgmCoder 2012-04-29 04:17:57

Смежные вопросы