Lazarus Faq/es

From Free Pascal wiki
Jump to: navigation, search

العربية (ar) Deutsch (de) English (en) español (es) français (fr) magyar (hu) italiano (it) 日本語 (ja) 한국어 (ko) português (pt) русский (ru) slovenčina (sk) 中文(中国大陆)‎ (zh_CN) 中文(台灣)‎ (zh_TW)

FAQs sobre Lazarus

(FAQ = Frequently Asked Questions / Preguntas realizadas frecuentemente).

General

¿Por qué los binarios generados son tan grandes?

Los binarios son grandes porque incluyen una gran cantidad de información de depuración necesarias para el uso de gdb (depurador GNU). El compilador tiene una opción para quitar la información de depuración en el ejecutable (-Xs), pero debido a un error en el compilador (versión 2.0.2 y anteriores), esto no funciona correctamente. Se ha corregido en la versión 2.0.4 y posteriores del compilador.

Puedes utilizar un programa llamado "strip" para eliminar los símbolos de depuración en el archivo ejecutable. Se encuentra en el directorio de lazarus: lazarus\pp\bin\i386-win32\ .

Sólo tienes que escribir strip --strip-all archivo_ejecutable (con su path completo) en la línea de comandos. Si deseas que tu programa sea aún más pequeño, debes usar UPX también. UPX es un compresor de exe's muy bueno. No consume excesiva memoria debido a la hora de la descompresión. Tiene una velocidad de descompresión muy rápida (~10 MB/segundo en un Pentium 133).

Para utilizar UPX simplemente escriba UPX archivo_ejecutable (su con path completo) en la línea de comandos. Después de usar ambas utilidades (strip y UPX) un programa sencillo de Lázarus se queda en:

  • ~ 700kb en Linux
  • ~ 420kb en Windows

Tienes una respuesta más detallada de los inconvenientes de la utilización de UPX en Size Matters.

También es importante señalar que el programa Hola mundo en Lazarus incluye una gran cantidad de características. Incluye:

  • Biblioteca de manejo de XML
  • La biblioteca de manipulación de imagenes PNG, XPM, BMP y archivos ICO
  • Casi todos los componentes de la biblioteca LCL
  • Todas las rutinas de la biblioteca de Free Pascal en tiempo de ejecución

Así que es muy grande, pero ya incluye casi todo lo que una aplicación sencilla va a necesitar. El ejecutable de lazarus comienza con un tamaño grande, pero crece muy lentamente, a causa de compilador de Free Pascal y la manera en que lazarus maneja los formularios. Un proyecto C++ (sólo un ejemplo, pero que se aplica a otros lenguajes / herramientas también) comienza siendo muy pequeño con un Hola mundo!!, pero crece rápidamente de manera exponencial cuando se necesitan funciones para escribir una aplicación menos sencilla.

¿Por qué es tan lento el enlazado en Windows?

Este problema es más de FPC 2.2 FPC y Lazarus 0.9.24. Por favor, actualice su Lazarus. Para versiones anteriores lea el texto a continuación.

En términos generales, la compilación en Windows tarda más tiempo que en otras plataformas porque el enlazador utilizado por GNU Free Pascal es lento en esta plataforma. Este problema sólo afecta a Windows, y sólo es malo en equipos relativamente antiguos (velocidad de CPU inferior a 1 GHz) y ordenadores con poca memoria RAM (128 MB o menos). Además, si hace un smartlink con la LCL el enlazado será mucho más lento. Aquí hablamos sobre este tema: tamaño del archivo y smartlinking

Se ha desarrollado, y está listo, un "enlazador" interno, pero sólo estará disponible cuando se libere Free Pascal 2.2 (por supuesto, también está disponible a través de subversión). Disminuye drasticamente el tiempo de enlazado. Nota: en la versión 2.1.1 para Windows se utiliza un enlazador interno para win32/64/ce que acelera el proceso un poco. Lazarus recompilado se queda en alrededor de 280MB.