Requisitos: Cuando simulamos solicitudes HTTP, los parámetros y contenido de las solicitudes pueden involucrar contenido algorítmico, el algoritmo puede encontrarse en JavaScript; si traducimos el algoritmo js al lenguaje de programación que usamos (por ejemplo, Java, C#), es más difícil, normalmente el contenido js está comprimido y confuso, así que si traducimos js directamente a una biblioteca de clases para llamar, es muy bueno.
Usa JSC para generar el programa exe en JavaScript
test1.js código es el siguiente:
Abre el comando desarrollador de VS 2019 e introduce lo siguiente:
Intenta ejecutar el programa main.exe, ejecutamos el programa a través del comando cmd, hacemos doble clic directamente y el programa pasará rápidamente, de la siguiente manera:
Utiliza JSC para generar una biblioteca dll de JavaScript
test.js código es el siguiente:
El comando es el siguiente:
Crea un nuevo proyecto de consola .NET 4 que haga referencia a la biblioteca de clases common.dll
Luego instancia el objeto y llama a su método. El código es el siguiente:
Como se muestra a continuación:
Puedes usar la herramienta ILSpy para ver el código fuente dll generado, como se muestra en la figura siguiente:
Ruta de archivo de programa jsc: C:\Windows\Microsoft.NET\Framework\v4.0.30319\jsc.exe
Parámetro:
Microsoft (R) JScript Compiler versión 14.00.3752 para Microsoft (R) .NET Framework versión 4.0.30319 Derechos de autor (C) Microsoft Corporation. Todos los derechos reservados.
jsc [opciones] <源文件> [[opciones] <源文件>...]
Opciones del compilador JScript
- Archivo de salida - /out:<file> Especifica el nombre del archivo binario de salida /t[arget]:exe Crear aplicación de consola (por defecto) /t[arget]: winexe para crear una aplicación de Windows /t[arget]: la biblioteca crea un ensamblador de biblioteca /plataforma:<platform> Restringe las plataformas en las que se puede ejecutar este código; Debe ser x86, Itanium, x64 o cualquier CPU (plataforma por defecto)
- Archivo de entrada - /autoref[+|-] Ensamblajes de referencia automática basados en espacios de nombres importados y nombres totalmente calificados (activados por defecto) /lib:<path> Especifica el directorio adicional en el que quieres buscar referencias /r[eference]:<lista de archivos> Hace referencia a metadatos del archivo de ensamblador especificado <lista de archivos>: <nombre del ensamblaje>[; <nombre de la asamblea>...]
- Fuente - /win32res:<file> Especifica archivos de recursos Win32 (.res) /res[ource]:<info> Incrustar el recurso especificado <info>: <filename>[,<name>[,público|privado]] /linkres[ource]:<info> Enlaza el recurso especificado a este ensamblaje <info>: <filename>[,<name>[,público|privado]]
- Generación de código - /debug[+|-] para emitir un mensaje de depuración /fast[+|-] desactiva las funciones del lenguaje para mejorar la generación de código /warnaserror[+|-] trata la advertencia como un error /w[arn]:<level> Establecer el nivel de advertencia (0-4)
- Miscelánea - @<filename> Para más opciones, por favor lee el archivo de respuestas /? Ayuda para mostrar /ayuda muestra ayuda /d[efine]:<symbols> Define símbolos de compilación condicional /nologo no muestra la marca de derechos de autor del compilador /print[+|-] proporciona la función print()
- Avanzado - /codepage:<id> Abre el archivo fuente con el ID de la página de códigos especificado /lcid:<id> Usar el LCID especificado para mensajes y páginas de códigos por defecto /nostdlib[+|-] no importa la biblioteca estándar (mscorlib.dll) y cambia el autoref por defecto a desactivado /utf8output[+|-] emite la salida del compilador en la codificación de caracteres UTF-8 /versionsafe[+|-] especifica un valor por defecto para los miembros que no están marcados como "override" o "hide" (Fin)
|