next up previous contents
Next: 4.3.3 El fichero lelisp.h Up: 4.3 Enlaces dinámicos Previous: 4.3.1 Funciones de interfaz

4.3.2 Correspondencias de tipos en los enlaces dinámicos

En una llamada (defextern símbolo ltipo tipo), la lista ltipo puede contener los siguientes tipos:
tabular3381

El tipo tipo devuelto debe ser alguno de los siguientes:
tabular3397

A continuación se examina cada uno de estos tipos más detalladamente:

En la tabla 4.1 se muestran las conversiones que tienen lugar cuando se pasan argumentos a funciones C (columna `Argumento') y cuando éstas devuelven sus resultados (columna `Resultado'). La columna etiquetada como `Tipo LE-LISP' muestra el tipo definido en defextern mientras que la columna etiquetada `Tipo C' muestra el tipo de los argumentos recibidos por la función C conectada a LE-LISPgif.

  table3441
Table 4.1: Conversiones de tipos entre LE-LISP y C.

Los punteros LE-LISP son, o bien punteros a la zona de datos de LE-LISP, o bien enteros cortos de 16 bits. El fichero lelisp.h contiene las declaraciones del tipo de estructura C a las cuales apuntan los punteros LE-LISP. Respecto al tipo external decir que no es cierto que pueda manipular sin más cualquier puntero del sistema LE-LISP, sino que primero debe ser convertido en un cons de dos enteros que representen las mitades más significativas y menos significativas de la dirección.


next up previous contents
Next: 4.3.3 El fichero lelisp.h Up: 4.3 Enlaces dinámicos Previous: 4.3.1 Funciones de interfaz

Miguel A. Alonso Pardo
Thu Nov 20 16:47:01 CET 1997