Difference between revisions of "Known problems of FPC"

From Free Pascal wiki
Jump to navigationJump to search
m (Kai Burghardt moved page Known problem of FPC to Known problems of FPC: typing mistake)
 
(6 intermediate revisions by 2 users not shown)
Line 1: Line 1:
{{Problemas conocidos de FPC}}
+
{{Known problems of FPC}}
 
=Problemas conocidos de FPC=
 
=Problemas conocidos de FPC=
 +
[[category:Castellano]][[category:Español]]
  
*Problemas cuándo el compilador está instalado en en una ruta que contiene '''nombres largos''':
+
*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 bajo 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!!
+
: 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 enumraciones tiene siempre 4 (0..32 elementos) o 32 octetos ((33..256 elementos).
+
 
3.
+
* 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.
Line length of the documentation in plain text format is > 80 characters.
+
 
4.
+
* La longitud de la documentación en texto plano es > 80 caracteres.
The following Delphi functionality is as of yet not implemented:
+
 
* Display interfaces (dispinterface) and the dispip index modifier
+
* Las siguientes funcionalidades de Delphi no se han implementado a día de hoy:
* Packages and sharemem, and related DLL functionality
+
** Interfaces ''Display'' (dispinterface) y el modificador de indice dispip.
* delegation with the implements keyword
+
** Paquetes y ''sharemem'', y la funcionalidad para DLL relacionada
* The register calling convention pushes the arguments in the wrong order on the stack (the params left after the registers are filled)
+
** Delegación con la palabra clave ''implements''
5.
+
** 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)
The tool which is used to create the plain text documentation from the TeX sources isn't able to create files with a max. line length of 80 chars.
+
 
6.
+
* 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.
Known incompabilities with Delphi
+
 
* Due to use of an external linker and out of multiplatform concerns, it is not possible to declare a function in an interface of an unit, and redeclare it as external in the implemention. An external function must be fully defined by the interface, and the interface only.
+
* Incompatibilidades conocidas con Delphi:
7.
+
** 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..
Known bugs specific to Darwin/Mac OS X and Classic Mac OS
+
 
* Passing floating point parameters to C routines with elipsis parameters (such as printf) does not yet work for the AIX ABI (which is used by all of the above OS'es).
+
*Errores conocidos '''específicos de ''Darwin/Mac OS X'' y ''Classic Mac OS'''''
* Passing records by value to C routines does not yet work for records whose size is different from 1, 2 and 4 bytes.
+
** 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).
* Generating shared libraries is not yet supported
+
** El paso por valor de registros a rutinas C no funciona para registros cuyo tamaño es diferente de 1, 2 y 4 octetos.
* The currency type has some problems with values close to the upper and lower limits (because the double type is used for some conversions, whose precision is too small in those cases).
+
** 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).
 
==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

English (en) Español (es)

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).

Fuente

Problemas conocidos (Original y actualizado)