PDL :: InterNALS

PDL :: InterNals es un módulo Perl que contiene una descripción de algunos aspectos de los internos actuales.
Descargar ahora

PDL :: InterNALS Clasificación y resumen

Anuncio publicitario

  • Rating:
  • Licencia:
  • Perl Artistic License
  • Precio:
  • FREE
  • Nombre del editor:
  • Tuomas J. Lukka
  • Sitio web del editor:
  • http://search.cpan.org/~lukka/WeakRef-0.01/WeakRef.pm

PDL :: InterNALS Etiquetas


PDL :: InterNALS Descripción

PDL :: InterNals es un módulo PERL que contiene una descripción de algunos aspectos de los internos actuales. PDL :: InterNals es un módulo PERL que contiene una descripción de algunos aspectos de la corriente actual. Documento deRothis explica varios aspectos de la implementación actual de PDL. Si solo desea usar PDL para algo, definitivamente no necesita leer esto. Incluso si desea interactuar sus rutinas C a PDL o crear nuevas funciones de PDL :: PP, no necesita leer esta página de hombre (aunque puede ser informativa). Este documento está destinado principalmente a las personas interesadas en depurar o cambiar los internos de PDL. Para leer esto, se requiere una buena comprensión de la lengua y la programación y las estructuras de datos en general, así como una comprensión de PERL. Si lees este documento y entiende todo y puede señalar lo que se refiere cualquier parte de este documento en las fuentes del núcleo de PDL y, además, lucha para entender PDL :: PP, se le otorgará el título "PDL GURU" ( Por supuesto, la versión actual de este documento está tan incompleta de que esto es casi imposible de solo estas notas) .Warning: Si parece que este documento se ha quedado sin fecha, informe a la lista de correo electrónico de PDL PORTERS (PDL-Porters @ jach.hawaii.edu). Esto puede suceder. El objeto de datos PDL de PDL es generalmente una referencia escalar opaca en una estructura de PDL en la memoria. Alternativamente, puede ser una referencia de hash con el campo PDL que contiene la referencia escalar (esto hace que la sobrecarga de Piddles sea fácil, consulte PDL :: Objetos). Puede descubrir fácilmente en el nivel Perl con el que se trata el tipo de PIDDLE. El código de ejemplo a continuación demuestra cómo hacerlo: # Compruebe si se trata de un Piddle Die "No es un Piddle" a menos que sea universal :: ISA ($ PDL, 'PDL'); # ¿Es un reflejo escalar o un hash ref? if (Universal :: ISA ($ PDL, "Hash")) {Die "No es un PDL válido" a menos que exista $ PDL -> {PDL} Universal :: ISA ($ PDL -> {PDL}, 'PDL'); Imprimir "Esta es una referencia de hash", "El campo PDL contiene la refn escalar"; } else {imprimir "Este es un ref escalar que apunta a abordar $$ PDL en MEMORYN"; } La referencia escalar apunta a la dirección numérica de una estructura C de tipo PDL que se define en PDL.H. El mapeo entre el objeto en el nivel de Perl y la estructura C que contiene los datos reales y la estructura que conforman un PIDDLE se realiza mediante el Typemap de PDL. Las funciones utilizadas en el typemap de PDL se definen prácticamente en la parte superior del archivo pdlcore.h. Entonces, ¿cómo se ve la estructura: struct pdl {sin firmar magicno largo; / * Siempre almacena PDL_MAGICNO como cheque de cordura * / / / * Esto es primero para que la mayoría de los accesos de puntero al tipo incorrecto se capturan * / INT State; / * ¿Qué hay en este PDL * / PDL_TRANS * trans; / * Puntero opaco a internos de transformación de los padres * / PDL_VAFFINE * VAFFTRANS; void * sv; / * (opcional) Puntero de nuevo a SV original. Siempre verifique que no sea nulo antes de usarlo. No podemos incincronar en este o nunca nos destruiríamos * / Void * DataSV; / * Puntero a SV que contiene datos. Refcnt Inced * / Void * Datos; / * NULL: No se asignaron datos para este * / INT NVALS; / * Cuántos valores asignados * / int DataType; PDL_LONG * DIMS; / * ARRAY DE DIMENSIONES DE DATOS * / PDL_LONG * DIMINCS; / * Array de incrementos predeterminados de datos * / NDIMs cortos; / * Número de dimensiones de datos * / caracteres sin firmas * Threadids; / * Índice de inicio del conjunto de índice de rosca N * / Char NTHREADIDS no firmado; PDL * progenitor; / * Estoy en una familia mutada. make_physical_now debe copiarme a la nueva generación. * / PDL * FUTURO_ME; / * Soy el PDL "Entonces" y esta es mi "ahora" (o más versión moderna, de todos modos * / PDL_CHILDRIERN hijos; Breve Living_For; / * Perl Side no se hace referencia; elimíneme cuando * / PDL_LONG DEF_DIMS ; / * Espacio preemitado para la eficiencia * / PDL_LONG DEF_DIMINCS ; / * ESPACIO PREALLOCADO PARA EFICIENCIA * / CAR DEF_TH_THREADIDS ; STUCH PDL_MAGIC * MAGIC; VOID * HDRSV; / * "encabezado", configurable desde afuera * /} ; Esta es una estructura bastante para almacenar algunos datos en: ¿Qué está pasando? Requisitos: · Perl


PDL :: InterNALS Software relacionado

Classeine :: SDK

Classeine :: SDK Project es un conjunto de bibliotecas de clase general de propósito general escritas en C para NetBSD. ...

138

Descargar

Partición conjunto

SET :: La partición es un módulo PERL que puede enumerar todas las disposiciones de un conjunto en subconjuntos fijos. ...

161

Descargar