Krav: När vi simulerar HTTP-förfrågningar kan förfrågningsparametrarna och förfrågningsinnehållet involvera viss algoritminnehåll, algoritmen kan hittas från JavaScript, om vi översätter js-algoritmen till det programmeringsspråk vi använder (t.ex. Java, C#) är det svårare, vanligtvis är js-innehållet komprimerat och förvirrat, så om vi direkt översätter js till ett klassbibliotek för oss att anropa är det mycket bra.
Använd JSC för att generera exe-programmet i JavaScript
test1.js kod är följande:
Öppna utvecklarkommandot VS 2019 och ange följande:
Försök att köra main.exe program, vi kör programmet genom cmd-kommandot, dubbelklickar direkt, och programmet blinkar förbi, enligt följande:
Använd JSC för att generera ett dll-bibliotek med JavaScript
test.js kod är följande:
Kommandot är följande:
Skapa ett nytt .NET 4-konsolprojekt som refererar till common.dll klassbiblioteket
Instansier sedan objektet och anropar dess metod. Koden är följande:
Som visas nedan:
Du kan använda ILSpy-verktyget för att se den genererade dll-källkoden, som visas i figuren nedan:
jsc program file path: C:\Windows\Microsoft.NET\Framework\v4.0.30319\jsc.exe
Parameter:
Microsoft (R) JScript Compiler version 14.00.3752 för Microsoft (R) .NET Framework version 4.0.30319 Upphovsrätt (C) Microsoft Corporation. Alla rättigheter förbehållna.
JSC [alternativ] <源文件> [[alternativ] <源文件>...]
JScript-kompilatoralternativ
- Utdatafil - /out:<file> Specificerar namnet på den binära utdatafilen /t[arget]:exe Skapa konsolapplikation (standard) /t[arget]: winexe för att skapa en Windows-applikation /t[arget]: bibliotek skapar en biblioteksassembler /plattform:<platform> Begränsar vilka plattformar som denna kod kan köras på; Måste vara x86, Itanium, x64 eller vilken CPU som helst (standardplattform).
- Inmatningsfil - /autoref[+|-] Autoreferens-assemblies baserade på importerade namnrymder och fullt kvalificerade namn (på som standard) /lib:<path> Specificerar den extra katalog där du vill söka efter referenser /r[eference]:<fillista> Refererar till metadata från den angivna assemblerfilen <fillista>: <sammansättningsnamn>[; <församlingens namn>...]
- Källa - /win32res:<file> Specificerar Win32-resursfiler (.res) /res[ource]:<info> Bädda in den angivna resursen : <info><filename>[,<name>[,offentlig|privat]] /linkres[ource]:<info> Länkar den angivna resursen till denna assembler : <info><filename>[,<name>[,offentlig|privat]]
- Kodgenerering - /debug[+|-] för att skicka ett felsökningsmeddelande /fast[+|-] inaktiverar språkfunktioner för att göra kodgenereringen bättre /warnaserror[+|-] behandlar varningen som ett fel /w[arn]:<level> Ställ in varningsnivån (0-4)
- Övrigt - @<filename> För fler alternativ, vänligen läs svarsfilen /? Hjälp med programmet /hjälp visar hjälp /d[efine]:<symbols> Definierar villkorliga kompileringssymboler /nologo visar inte kompilatorns upphovsrättsmärke /print[+|-] tillhandahåller print()-funktionen
- Avancerad - /codepage:<id> Öppna källfilen med angivet kodsid-ID /lcid:<id> Använd det angivna LCID för meddelanden och standardkodsidor /nostdlib[+|-] importerar inte standardbiblioteket (mscorlib.dll) och ändrar autof-standarden till avstängd /utf8output[+|-] sänder kompilatorutgång i UTF-8-teckenkodning /versionsafe[+|-] specificerar ett standardvärde för medlemmar som inte är markerade som "override" eller "hide" (Slut)
|