1

J'ai un script VBScript 2000 lignes, qui est devenu progressivement lent avec chaque code supplémentaire que j'ajoute. Il a été créé en tant qu'aide au débogage privé et maintenant qu'il est devenu vraiment utile. Je veux le polir et l'expédier avec notre produit.Une expérience avec la compilation de VBScript?

J'ai pensé que je pourrais l'accélérer en le compilant et en le rendant un EXE. En outre, je veux avoir une interface utilisateur pour mon outil, ce qui pourrait être possible une fois que j'utiliserai les bibliothèques supplémentaires que la plate-forme de compilation pourrait me donner. Je considère également étendre le script en appelant Win32 fonctions pour toutes les fonctionnalités manquantes dont j'ai besoin.

J'ai VB 6.0 ou je peux acheter un compilateur externe. Mais j'ai également besoin du programme créé (pas le compilateur lui-même) pour fonctionner correctement dans Windows Vista. Quelles sont mes meilleures options?

Répondre

4

Je vous recommande de télécharger Visual Basic Express Edition (http://www.microsoft.com/express/vb/) et de mettre votre outil à VB.Net. Cependant, cette approche a un inconvénient - votre programme dépendra de .Net. Pour la plupart cela ne devrait pas être un gros problème, car à ce jour, la plupart des machines devraient avoir .Net 2.0, mais il vaut mieux le garder à l'esprit.

Je voudrais rester loin de VB6.0; Cependant, mis à part VB.Net, je ne connais pas d'autres bons compilateurs Basic que vous pourriez utiliser.

4

Il y a probablement plus de lenteur que le simple fait d'être interprété. Il y a probablement plusieurs optimisations que vous pourriez faire pour le rendre plus rapide. Essayez de trouver les parties du code qui le ralentissent le plus et essayez de les accélérer.

En fonction de ce que le code VB6 pourrait être bon. S'il s'agit de texte/noms de fichiers naturels, il serait préférable d'utiliser VB.net, car VB6 ne supporte pas bien Unicode. Mais j'ai l'impression que même après la compilation, ça pourrait être lent, car la compilation ne fera que l'accélérer, mais pas plus efficacement.

0

C'est difficile à dire sans en savoir plus sur ce que fait le programme ou sur la quantité de données qu'il traite.

Je suis d'accord avec Franci - VB6 n'est plus vendu ou pris en charge, donc VB.Net serait la voie à suivre pour le code compilé. (Express est gratuit.) VBScript ne ressemble pas beaucoup à VB.Net, ce qui peut être un bon travail à porter, sauf s'il s'agit de toutes les requêtes WMI ou LDAP ou quelque chose comme ça.

Je commencerais à chronométrer les choses pour voir où sont vos goulots d'étranglement. À moins que vous ne fassiez des tonnes de boucle et des appels de fonction à plusieurs niveaux, vous êtes probablement bloqué sur les appels externes.

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

Vive

3

Eh bien ... il y a un certain nombre de "bons" compilateurs BASIC là:

sont ceux qui venir à l'esprit immédiatement. Un bon nombre d'entre eux sont répertoriés sur le site mindteq. (Jabaco est particulièrement intéressant - la VB6 a été ré-exprimée en Java, j'ai joué avec ça, et c'est très prometteur!Mais pour en revenir aux compilateurs VBScript, ils existent ... en quelque sorte. Ce qu'ils font est de symboliser le code et de mettre une sorte de wrapper autour d'eux. Si elles courent plus vite est discutable.

+0

BCX vous permettent d'intégrer certaines commandes VBScript et vous pouvez compiler cela. – bgmCoder

Questions connexes