Difference between revisions of "Known problems of FPC"
From Free Pascal wiki
Jump to navigationJump to searchm (Kai Burghardt moved page Known problem of FPC to Known problems of FPC: typing mistake) |
|||
(5 intermediate revisions by 2 users not shown) | |||
Line 1: | Line 1: | ||
− | {{ | + | {{Known problems of FPC}} |
=Problemas conocidos de FPC= | =Problemas conocidos de FPC= | ||
+ | [[category:Castellano]][[category:Español]] | ||
− | * | + | *Cuándo el compilador está instalado en una ruta que contiene '''nombres largos''': |
− | : El enlazador GNU (el que utiliza FPC) para DOS y windows no soporta nombres largos, por tanto no instales el compilador en un directorio | + | : El enlazador GNU (el que utiliza FPC) para DOS y windows no soporta nombres largos, por tanto, no instales el compilador en un directorio con una ruta que incluya nombres largos y no compiles fuentes que estén ubicadas en rutas semejantes. No obstante lo anterior, la librería en tiempo de ejecución si soporta nombres largos y por tanto los programas compilados podrán hacer uso de ellos. ¡¡Este problema se produce únicamente en la versión DOS y windows!! |
− | * En modo Delphi, los conjuntos no coinciden en tamaño con los de Delphi. Las enumeraciones tienen siempre 4 (0..32 elementos) o 32 octetos ((33..256 elementos), y no su tamaño real. | + | * En modo Delphi, los conjuntos no coinciden en tamaño con los de Delphi. Las enumeraciones tienen siempre 4 octetos (0..32 elementos) o 32 octetos ((33..256 elementos), y no su tamaño real. |
* La longitud de la documentación en texto plano es > 80 caracteres. | * La longitud de la documentación en texto plano es > 80 caracteres. | ||
− | * Las siguientes funcionalidades de Delphi no se han | + | * Las siguientes funcionalidades de Delphi no se han implementado a día de hoy: |
** Interfaces ''Display'' (dispinterface) y el modificador de indice dispip. | ** Interfaces ''Display'' (dispinterface) y el modificador de indice dispip. | ||
− | ** | + | ** Paquetes y ''sharemem'', y la funcionalidad para DLL relacionada |
− | ** Delegación con | + | ** Delegación con la palabra clave ''implements'' |
− | ** La convención de llamada para | + | ** La convención de llamada para registros pone los argumentos en orden incorrecto en la pila (Los parámetros a la izquierda son introducidos primero) |
* La herramienta utilizada para crear la documentación en texto desde fuentes TeXT no es capaz de de crear archivos con longitud de línea mayor de 80 caracteres. | * La herramienta utilizada para crear la documentación en texto desde fuentes TeXT no es capaz de de crear archivos con longitud de línea mayor de 80 caracteres. | ||
* Incompatibilidades conocidas con Delphi: | * Incompatibilidades conocidas con Delphi: | ||
− | ** Al usar un enlazador externo y por cuestiones de portabilidad entre plataformas, no es posible declarar una función en un interfaz de una unidad, y | + | ** Al usar un enlazador externo y por cuestiones de portabilidad entre plataformas, no es posible declarar una función en un interfaz de una unidad, y volver as declararla como externa en la implementación. Una función externa debe declararse completamente en la interfaz, y sólo en la interfaz.. |
*Errores conocidos '''específicos de ''Darwin/Mac OS X'' y ''Classic Mac OS''''' | *Errores conocidos '''específicos de ''Darwin/Mac OS X'' y ''Classic Mac OS''''' | ||
Line 26: | Line 27: | ||
** El tipo moneda (''currency'') tiene algunos problemas con valores cercanos a los límites superior e inferior (debido a que el tipo ''double'' se utiliza para algunas conversiones, y su precisión es demasiado pequeño para estos casos). | ** El tipo moneda (''currency'') tiene algunos problemas con valores cercanos a los límites superior e inferior (debido a que el tipo ''double'' se utiliza para algunas conversiones, y su precisión es demasiado pequeño para estos casos). | ||
==Fuente== | ==Fuente== | ||
− | [http://www.freepascal.org/probs.html Problemas conocidos] | + | [http://www.freepascal.org/probs.html Problemas conocidos (Original y actualizado)] |
Latest revision as of 17:45, 25 January 2023
Problemas conocidos de FPC
- Cuándo el compilador está instalado en una ruta que contiene nombres largos:
- El enlazador GNU (el que utiliza FPC) para DOS y windows no soporta nombres largos, por tanto, no instales el compilador en un directorio con una ruta que incluya nombres largos y no compiles fuentes que estén ubicadas en rutas semejantes. No obstante lo anterior, la librería en tiempo de ejecución si soporta nombres largos y por tanto los programas compilados podrán hacer uso de ellos. ¡¡Este problema se produce únicamente en la versión DOS y windows!!
- En modo Delphi, los conjuntos no coinciden en tamaño con los de Delphi. Las enumeraciones tienen siempre 4 octetos (0..32 elementos) o 32 octetos ((33..256 elementos), y no su tamaño real.
- La longitud de la documentación en texto plano es > 80 caracteres.
- Las siguientes funcionalidades de Delphi no se han implementado a día de hoy:
- Interfaces Display (dispinterface) y el modificador de indice dispip.
- Paquetes y sharemem, y la funcionalidad para DLL relacionada
- Delegación con la palabra clave implements
- La convención de llamada para registros pone los argumentos en orden incorrecto en la pila (Los parámetros a la izquierda son introducidos primero)
- La herramienta utilizada para crear la documentación en texto desde fuentes TeXT no es capaz de de crear archivos con longitud de línea mayor de 80 caracteres.
- Incompatibilidades conocidas con Delphi:
- Al usar un enlazador externo y por cuestiones de portabilidad entre plataformas, no es posible declarar una función en un interfaz de una unidad, y volver as declararla como externa en la implementación. Una función externa debe declararse completamente en la interfaz, y sólo en la interfaz..
- Errores conocidos específicos de Darwin/Mac OS X y Classic Mac OS
- El paso de parámetros en coma flotante a rutinas C mediante elipsis (cómo en printf) no funciona hoy día para AIX ABI (que es utilizado por todo los SO mencionados).
- El paso por valor de registros a rutinas C no funciona para registros cuyo tamaño es diferente de 1, 2 y 4 octetos.
- La creación de librerías compartidas no está soportada.
- El tipo moneda (currency) tiene algunos problemas con valores cercanos a los límites superior e inferior (debido a que el tipo double se utiliza para algunas conversiones, y su precisión es demasiado pequeño para estos casos).