Cerințe: Când simulăm cereri HTTP, parametrii și conținutul cererii pot implica conținut al algoritmului, algoritmul poate fi găsit din JavaScript, dacă traducem algoritmul js în limbajul de programare pe care îl folosim (de exemplu, Java, C#), este mai dificil, de obicei conținutul js este comprimat și confuz, așa că dacă traducem direct js într-o bibliotecă de clase pentru a o apela, este foarte bun.
Folosește JSC pentru a genera programul exe în JavaScript
test1.js cod este următorul:
Deschide comanda dezvoltator VS 2019 și introdu următoarele:
Încearcă să rulezi programul main.exe, rulăm programul prin comanda cmd, facem dublu click direct și programul va trece pe lângă el, astfel:
Folosește JSC pentru a genera o bibliotecă dll de JavaScript
test.js cod este următorul:
Comanda este următoarea:
Creează un nou proiect de consolă .NET 4 care să facă referire la biblioteca de clase common.dll
Apoi instanțiază obiectul și apelează metoda lui. Codul este următorul:
Așa cum se arată mai jos:
Puteți folosi instrumentul ILSpy pentru a vizualiza codul sursă dll generat, așa cum este arătat în figura de mai jos:
Calea fișierului de program jsc: C:\Windows\Microsoft.NET\Framework\v4.0.30319\jsc.exe
Parametru:
Microsoft (R) JScript Compilator versiunea 14.00.3752 pentru Microsoft (R) .NET Framework versiunea 4.0.30319 Drepturi de autor (C) Microsoft Corporation. Toate drepturile rezervate.
jsc [opțiuni] <源文件> [[opțiuni] <源文件>...]
Opțiuni de compilator JScript
- Fișier de ieșire - /out:<file> Specifică numele fișierului binar de ieșire /t[arget]:exe Creează aplicația de consolă (implicit) /t[arget]: winexe pentru a crea o aplicație Windows /t[arget]: Biblioteca creează un ansamblu de bibliotecă /platformă:<platform> Restricționează platformele pe care acest cod poate fi rulat; Trebuie să fie x86, Itanium, x64 sau orice CPU (platformă implicită)
- Fișier de intrare - /autoref[+|-] Asamblările de referință automată bazate pe spații de nume importate și nume complet calificate (activate implicit) /lib:<path> Specifică directorul suplimentar în care vrei să cauți referințe /r[eference]:<listă de fișiere> Face referire la metadatele fișierului de asamblare specificat <listă de fișiere>: <numele asamblării>[; <numele adunării>...]
- Sursă - /win32res:<file> Specifică fișierele de resurse Win32 (.res) /res[ource]:<info> Încorporează resursa specificată <info>: <filename>[,<name>[,public|private]] /linkres[ource]:<info> Leagă resursa specificată de această asamblare <info>: <filename>[,<name>[,public|private]]
- Generarea codului - /debug[+|-] pentru a emite un mesaj de depanare /fast[+|-] dezactivează funcționalitățile limbajului pentru a face o generare mai bună a codului /warnaserror[+|-] tratează avertismentul ca pe o eroare /w[arn]:<level> Setează nivelul de avertizare (0-4)
- Diverse - @<filename> Pentru mai multe opțiuni, vă rugăm să citiți fișierul de răspuns /? Arată ajutor /ajutor arată ajutor /d[efine]:<symbols> Definește simbolurile de compilare condiționată /nologo nu afișează marca de copyright a compilatorului /print[+|-] oferă funcția print()
- Avansat - /codepage:<id> Deschide fișierul sursă cu ID-ul paginii de cod specificat /lcid:<id> Folosește LCID-ul specificat pentru mesaje și pagini de coduri implicite /nostdlib[+|-] nu importă biblioteca standard (mscorlib.dll) și schimbă implicit autoref-ul pe off /utf8output[+|-] emite ieșire de compilator în codarea caracterelor UTF-8 /versionsafe[+|-] specifică o valoare implicită pentru membrii care nu sunt marcați ca "override" sau "hide" (Sfârșit)
|