Denne artikkelen er en speilartikkel om maskinoversettelse, vennligst klikk her for å hoppe til originalartikkelen.

Utsikt: 30296|Svare: 1

[Kilde] Bruk JSC for å generere en dll i JavaScript for C#-kall

[Kopier lenke]
Publisert 2020-12-20 12:47:18 | | | |
Krav: Når vi simulerer HTTP-forespørsler, kan forespørselsparameterne og forespørselsinnholdet involvere noe algoritmeinnhold, algoritmen kan finnes i JavaScript, hvis vi oversetter js-algoritmen til programmeringsspråket vi bruker (f.eks. Java, C#), er det vanskeligere, vanligvis er js-innholdet komprimert og forvirret, så hvis vi direkte oversetter js til et klassebibliotek for oss å kalle, er det veldig bra.

Bruk Jurassic til å kjøre js-funksjoner under .net
https://www.itsvse.com/thread-4303-1-1.html
Bruk JSC for å generere exe-programmet i JavaScript

test1.js koden er som følger:

Åpne VS 2019-utviklerkommandoen og skriv inn følgende:

Prøv å kjøre main.exe-programmet, vi kjører programmet gjennom cmd-kommandoen, dobbeltklikker direkte, og programmet blinker forbi, som følger:



Bruk JSC for å generere et DLL-bibliotek med JavaScript

test.js koden er som følger:

Kommandoen er som følger:

Lag et nytt .NET 4-konsollprosjekt som refererer til common.dll klassebiblioteket

Instansier deretter objektet og kaller metoden deres. Koden er som følger:


Som vist nedenfor:



Du kan bruke ILSpy-verktøyet for å se den genererte dll-kildekoden, som vist i figuren nedenfor:



jsc program file path: C:\Windows\Microsoft.NET\Framework\v4.0.30319\jsc.exe

Parameter:

Microsoft (R) JScript Compiler versjon 14.00.3752
for Microsoft (R) .NET Framework versjon 4.0.30319
Opphavsrett (C) Microsoft Corporation. Alle rettigheter forbeholdt.

JSC [alternativer] <源文件> [[alternativer] <源文件>...]

                         JScript-kompilatoralternativer

                           - Utdatafil -
  /out:<file> Spesifiserer navnet på den binære utdatafilen
  /t[arget]:exe Lag konsollapplikasjon (standard)
  /t[arget]: winexe for å lage en Windows-applikasjon
  /t[arget]: biblioteket oppretter en biblioteksassembler
  /platform:<platform> Begrenser plattformene denne koden kan kjøres på; Må være x86, Itanium, x64 eller hvilken som helst CPU (standardplattform).

                           - Inndatafil -
  /autoref[+|-] Autoreferanse-assemblies basert på importerte navnerom og fullt kvalifiserte navn (på som standard)
  /lib:<path> Spesifiserer den ekstra katalogen du vil søke etter referanser i
  /r[eference]:<filliste> Refererer til metadata fra den angitte assemblerfilen
                           <filliste>: <samlingsnavn>[; <forsamlingens navn>...]

                           - Kilde -
  /win32res:<file> Spesifiserer Win32-ressursfiler (.res)
  /res[ource]:<info> Legg inn den angitte ressursen
                           : <info><filename>[,<name>[,,offentlig|privat]]
  /linkres[ource]:<info> Lenker den angitte ressursen til denne samlingen
                           : <info><filename>[,<name>[,,offentlig|privat]]

                           - Kodegenerering -
  /debug[+|-] for å sende en debug-melding
  /fast[+|-] deaktiverer språkfunksjoner for å gjøre kodegenerering bedre
  /warnaserror[+|-] behandler advarselen som en feil
  /w[arn]:<level> Sett varslingsnivået (0-4)

                           - Diverse -
  @<filename> For flere alternativer, vennligst les svarfilen
  /?                       Hjelp med show
  /hjelp viser hjelp
  /d[efine]:<symbols> Definerer betingede kompilasjonssymboler
  /nologo viser ikke kompilatorens opphavsrettsmerke
  /print[+|-] gir print()-funksjonen

                           - Avansert -
  /kodeside:<id> Åpne kildefilen med den angitte kodeside-ID-en
  /lcid:<id> Bruk den spesifiserte LCID for meldinger og standard kodesider
  /nostdlib[+|-] importerer ikke standardbiblioteket (mscorlib.dll) og endrer autoref-standarden til av
  /utf8output[+|-] sender ut kompilatorutgang i UTF-8-tegnkoding
  /versionsafe[+|-] spesifiserer en standardverdi for medlemmer som ikke er merket som "override" eller "hide"
(Slutt)




Foregående:ASP.NET Core (iii) Opprett instanser dynamisk ved hjelp av ActivatorUtilities
Neste:Python bruker http.server for å åpne en http-tjeneste
Publisert 16.08.2022 kl. 16:58:13 |
Lær å lære
Ansvarsfraskrivelse:
All programvare, programmeringsmateriell eller artikler publisert av Code Farmer Network er kun for lærings- og forskningsformål; Innholdet ovenfor skal ikke brukes til kommersielle eller ulovlige formål, ellers skal brukerne bære alle konsekvenser. Informasjonen på dette nettstedet kommer fra Internett, og opphavsrettstvister har ingenting med dette nettstedet å gjøre. Du må fullstendig slette innholdet ovenfor fra datamaskinen din innen 24 timer etter nedlasting. Hvis du liker programmet, vennligst støtt ekte programvare, kjøp registrering, og få bedre ekte tjenester. Hvis det foreligger noen krenkelse, vennligst kontakt oss på e-post.

Mail To:help@itsvse.com