Anda di halaman 1dari 6

4.0. La introduccin para/etc de la compilacin /interpretacin.

Como usted est comenzando a leer acerca de compilacin /interpretacin, usted debera saber que los programadores usualmente tienen importancia de 0 en lugar de 1 - por eso es que el nmero de esta seccin es 4.0 en lugar de 4.1:) Pero procedamos. Entonces, usted quiere compilar o manejar algo utilizando a NppExec. Estupendo, ese es el propsito de este plugin. Sino, antes de que usted comience a hacerlo, usted debe comprender los principios de NppExec. Refirmonos a la seccin 1.3 de este manual:
NppExec no es un compilador. NppExec le deja usar herramientas externas y los compiladores a procesar/compilan su archivo corriente, pero lo ha hecho no la habilidad para hacerlo por s mismo. Ninguna magia aqu:)

sta es la idea bsica de uso adelantado de NppExec. No importa qu archivo fuente usted quiera compilar o manejar - si sea C, o C + +, o Java, o Pitn, o Perl, etctera., Etctera. -usted siempre necesita especificar dos cosas: I. Qu compilar o correr (el archivo fuente mismo); II. QUIEN lo har (el intrprete o el compilador). Si usted especifica slo qu compilar o corre, NppExec distinguir el sistema exactamente igual: eche a andar este archivo. Y el sistema muy probablemente contestar: No s cmo echar a andar este archivo. Si usted especifica slo QUIEN lo har, NppExec tendr bajo su mando al intrprete /compilador especificado - pero no interpretar/compila cualquier cosa porque usted no especific qu interpretar o compilar. Repitmoslo otra vez: NppExec mismo no sabe nada acerca de su archivo fuente y no hace ninguna suposicin estimndolo. NppExec slo hace exactamente lo que usted lo dice para hacer - y eso es todo. Est bien, pero usted puede preguntar: Por qu, por ejemplo, cuando estoy dando doble clic sobre mi archivo GhostScript (o el archivo NSIS, o la Pitn archiva, o el archivo JavaScript, cualquier cosa) en Explorador del Windows, llega a ser eso para ser ajusticiado - pero no ocurre en NppExec? El sistema parece saber cmo echar a andar el archivo, correcto? - Tan por qu no es eso ejecutado desde adentro de NppExec? La respuesta es simple: dando doble clic sobre un archivo en Explorador del Windows no es el mismo como intentar echar a andar este archivo en seguida. Djeme explicar: cuando usted da doble clic sobre un archivo, el Explorador del Windows intenta echarlo a andar usando a las agrupaciones de archivo de sistema. Por ejemplo, cuando usted da doble clic sobre un .doc o un archivo .docx, el Explorador del Windows detecta que este archivo es asociado con Microsoft Office de la Corporacin Microsoft - y los precios de venta el Microsoft Office para abrir este archivo. Asimismo, si los archivos de

la Pitn son asociados con algunos la exencin de dispositivo de investigacin de la Pitn, el Explorador del Windows intentar correr o abrir stos exencin de dispositivo de investigacin de la Pitn que consume archivo. Por otra parte, cuando usted quiere que NppExec eche a andar un archivo, distingue el sistema: eche a andar este archivo como si puede ser ejecutado por s mismo (sin programa asociado). Esa es la diferencia. El archivo de sistema que las asociaciones no son usadas en este caso. Pero NppExec tambin tiene la capacidad de echar a andar un archivo usando a las agrupaciones de archivo de sistema. Estoy hablando de < "archivo NPP_RUN". En este caso NppExec distinguir el sistema: eche a andar este archivo usando a las agrupaciones de archivo de sistema. Tendr el mismo efecto como haciendo doble clic en Explorador del Windows. El mismsimo efecto - as es que usted no tendr ninguna produccin en la Consola de NppExec porque el archivo no ser ejecutado adentro la Consola en este caso. Refirase a la seccin 3.3 para ms detalles. Ahora supongo que es hora de decir con otras palabras la idea bsica de uso adelantado de NppExec: III. Para manejar su archivo fuente en la Consola de NppExec, usted siempre necesita especificar dos cosas. IV. La primera cosa es qu compilar o correr (el archivo fuente mismo). V. Lo segundo es QUIEN lo har (el intrprete o el compilador). Nombrmosle al WHAT tan cosa como < el archivo > (porque es su archivo fuente) y la cosa de la quien como < herramienta > (porque es la herramienta que interpretar o compilar usted archiva). Segn esto, usted necesita especificar el siguiente comando genrico para interpretar/compila/carrera cualquier archivo fuente:
< las discusiones del > < archivo de la herramienta

Tenemos una cosa adicional aqu: <Discusiones. Esta cosa se refiere a las discusiones de lneas de comando especficas en la herramienta que pueden (o no puede) pretendan interpretar/compila/carrera el archivo fuente. No le puedo dar ms informacin aqu porque esta parte realmente difiere para compilers/interpreters diferentes. Usted necesita leer la documentacin del compilador /intrprete estimando esto. En algunos casos usted puede necesitar especificar discusiones adicionales antes del originario nombre de archivo:
< la herramienta > < argumenta > < archivo

Puf! Dist hasta ahora, verdad? ;) Pero procedamos. Ahora usted ya tiene (o por lo menos yo espero que sea as) una visin general estimando lo que es menester para interpretar/compila/carrera su archivo fuente. Tengamos en cuenta una cosa ms: NppExec no es cmd.exe. NppExec le deja manejar algo y ver la produccin de la consola, pero no es el intrprete de orden de un sistema

(cmd.exe) s mismo y NO INVOCA cmd.exe si usted no lo llamara explcitamente. As usted puede encontrar comportamiento diferente de la Consola de NppExec y la consola del sistema (cmd.exe). Refirase a la seccin 1.3 para ms detalles. De cualquier manera, usted "le puede pedir a" cmd.exe que haga algo para usted llamndolo de NppExec explcitamente. Refirase a la seccin 4.4 para ms detalles. As es que, qu es el siguiente? Le dije de todo usted necesita o soy all algo sobrante? Tal vez, bastante conversacin - y nos deja ver algunos ejemplos? S, tengamos alguna costumbre. Entonces, usted quiere que NppExec haga algo. Usted abre la Consola de NppExec y mecanografa: "algo". Entonces usted presiona Interlineacin. Aqu lo que usted ve en la Consola:
Algo CreateProcess () le fall con cdigo de error 2: El sistema no puede encontrar el archivo especificado.

Qu diablos ocurrido? Ayuda! Analicemos. Usted intent manejar "algo". Qu es "algo"? Parece ser un bacause ejecutable del archivo que usted lo especific sin extensin. Y qu tiene usted como el resultado? Usted hace "el sistema no puede encontrar el archivo especificado". Entonces, nada mgico: usted intent echar a andar un archivo que no existe. Djeme escribir algunos comentarios aqu. Cuando usted escribe "algo" y prensa Interlineacin, quiere decir lo siguiente: maneje un archivo ejecutable "algo" ("something.exe") de directorio actual o un directorio mencionado en %PATH%. Esto es lo que el sistema intenta hacer. Y si usted tiene a "something.exe" en el directorio actual o en alguna parte de %PATH%, este archivo ("something.exe") ser ejecutado y usted no har el error codificar 2. Usted puede tener el mismsimo error cuando el nombre de uno ejecutable se especific incorrectamente. Por ejemplo:
%systemroot% notepad.exe CreateProcess () le fall con cdigo de error 2: El sistema no puede encontrar el archivo especificado.

Qu diablos ocurrido? Ayuda! Como ya escrib, NppExec no es cmd.exe. Qu quiere decir? Quiere decir que NppExec, en particular, no sabe lo que es %systemroot%. Pero cmd.exe lo sabe, correcto? As es que usted puede escribir lo siguiente:
Cmd c %systemroot% notepad.exe

Y el Bloc de Notas ser echado a andar para usted por cmd.exe (mientras cmd.exe mismo est ejecutando en NppExec).

Espero que estos ejemplos bsicos fueron tiles, pero nuestra meta es compilar/interpreta/carrera algo, verdad? As es que queremos ver un ejemplo de algo as como < "herramienta > < archivar > < las discusiones", verdad? Est bien, tomemos algn archivo fuente e intentemos manejarlo. Como dije, podramos tomar cualquier archivo originario - no tiene importancia qu lenguaje usted est usando. Sino, simplemente para los propsitos de ejemplo, asumamos que tenemos un archivo del .awk con el siguiente texto:
COMIENCE { Imprima "hola"! }

Oy usted a algo de AWK o le hace sabe algo al respecto? No? Es grandioso, porque NppExec tambin no hace! Ahora quiero repetir: no tiene importancia qu lenguaje usted est usando - podra ser Pascal, Java, PHP, Ruby etctera, y as adelante - pero que el principio permanece igual. NppExec NO SABE nada acerca de este lenguaje y NO HACE ninguna suposicin estimndolo. Usted exactamente debera especificar qu interpretar/compilan/carrera (el archivo fuente) y QUIEN la har (el intrprete /compilador). Entonces, somos arrogantes tenemos un archivo abierto "program.awk" con el siguiente texto:
COMIENCE { Imprima "hola"! }

y queremos manejarlo. Ahora mismo podemos especificar LO QUE queremos manejar: Es nuestro archivo fuente "program.awk". El cuaderno de apuntes + y NppExec proveen las siguientes variables que contienen el actual nombre de archivo: VI. $ (FULL_CURRENT_PATH): el pathname lleno del archivo corriente en Bloc de Notas + VII. $ (FILE_NAME): la reputacin y la extensin del archivo corriente en Bloc de Notas +

Ahora, si usted categoriza a "$ (FULL_CURRENT_PATH )" y prensa Entre en la Consola de NppExec, usted ver algo as como lo siguiente:
$ (FULL_CURRENT_PATH) C:\Documents y \ Usuario Settings \ Mi program.awk Documents CreateProcess () le fall con cdigo de error 193

Si usted registra a la Google (o Bing, cualquier cosa) para "el error codifique 193", usted encontrar la siguiente descripcin: "%1 no es una aplicacin Win32 vigente". Esto es exactamente lo que hemos intercambiado opiniones antes: el sistema no sabe cmo echar a andar este archivo. Entonces, es nuestra responsabilidad especificar a un compilador /intrprete vlido que puede manejarlo.

En nuestro caso de un archivo del .awk, deberamos utilizar al intrprete de ter DE BIRRIA o AWK95. (En caso de otro archivo - como .cpp, .java, .php etctera - usted debera utilizar al compilador /intrprete apropiado.) Asummosle ha bajado de Internet el ltimo paquete DESMAADO y lo ha desempacado para "C:\tools\GAWK". As es que la ruta a MIRAR ESTPIDAMENTE ejecutable es "C:\tools\GAWK\gawk.exe". Intentemos manejarlo sin parmetros:
C:\tools\GAWK\gawk.exe El proceso iniciado Uso: ] el archivo desmaado POSIX or GNU style options - f progfile [ (...) <<< el proceso terminado.

As es que, qu vemos? Vemos que deberamos especificar "- f" entre "gawk.exe" y el archivo fuente del .awk. Ahora intentemos echar a andar nuestro archivo:
C:\tools\GAWK\gawk.exe f $ (- FULL_CURRENT_PATH) C:\tools\GAWK\gawk.exe C:\Documents y \ Usuario Settings \ Mi program.awk Documents El proceso iniciado Desmaado: Fatal: no puede abrir archivo fuente ' C:\Documents es para leer (No tal archivo o tal directorio) <<< el proceso terminado.

Qu diablos ocurrido? Ayuda! Bien. Si miramos el archivo pathname "C:\Documents y \ el Usuario Settings \ Mi Documents Program.awk", podemos observar espacios all. Qu quiere decir? Segn el comportamiento predeterminado del sistema, TODOS LOS nombres de archivo con espacios deberan estar adjunto a la presente en cotizaciones dobles. De otra manera el sistema no comprende dnde son el nombre de fin de archivo y tratan espacios como divisores entre varios nombres de archivo. Entonces, djenos hacer otro intento:
"C:\tools\GAWK\gawk.exe" - f "$ (FULL_CURRENT_PATH )" "C:\tools\GAWK\gawk.exe" - f "C:\Documents y \ Usuario Settings \ Mi Documents Program.awk" El proceso iniciado Al! <<< el proceso terminado.

xito! Exitosamente hemos manejado nuestro programa del .awk usando gawk.exe. Esto ilustra nuestro principio general que podra ser aplicado a CUALQUIER lenguaje: Especifique qu manejar (el archivo fuente) y QUIEN lo manejar (el intrprete o el compilador). El argumento adicional ("- f" en nuestro caso) incluido. La ruta para el intrprete estaba tambin adjunto a la presente en cotizaciones dobles porque, en general, tambin puede contener espacios. As recomendara a siempre incluir rutas a interPedro /compilador y el archivo fuente en las cotizaciones dobles.

Puf!.. Es usted todava aqu, conmigo? ;) Qu ms decir?.. No mucho, en verdad. A menudo es mejor escribir algunos el escrito de NppExec 3.7 para los propsitos de corrida /compilacin, porque una buena cantidad de acciones (las rdenes) pueden ser requeridas para sta. Usted puede ver varios ejemplos bajo las secciones 4.6 y 4.7 . Y aqu es un consejo til ms. Empezando de NppExec V0.4.2, usted puede usar variables de tiempos de ejecucin en sus alias de orden. Por ejemplo, usted puede definir el siguiente alias:
Npe cmdalias g "C:\tools\GAWK\gawk.exe" - f "$ (FULL_CURRENT_PATH )"

Una vez que usted lo hiciera, usted puede categorizar simplemente a "g" para echar a andar su archivo corriente usando gawk.exe. Categorice "ayuda npe cmdalias" en la Consola de NppExec para aprender ms acerca de los alias de orden.

Anda mungkin juga menyukai