Difference between revisions of "Lazarus Faq/hu"

From Lazarus wiki
Jump to navigationJump to search
m
m
Line 3: Line 3:
  
 
<font size="7">Lazarus GY.I.K.</font>
 
<font size="7">Lazarus GY.I.K.</font>
 +
  
 
__TOC__
 
__TOC__
  
hamarosan...
+
folyamatban...
<!--
+
 
== General ==
+
== Általános ==
  
 
===Miért olyan nagyok a létrehozott binárisok?===
 
===Miért olyan nagyok a létrehozott binárisok?===
Line 55: Line 56:
 
* 4. (Esetleg) Futtasd az "UPX <te_futtatható_programod>" parancsot a bináris állomány tömörítéséhez a -2 vagy -3 paraméterrel (Figyelem: mint fentebb olvashattad, az UPX használatának lehetnek hátrányai).
 
* 4. (Esetleg) Futtasd az "UPX <te_futtatható_programod>" parancsot a bináris állomány tömörítéséhez a -2 vagy -3 paraméterrel (Figyelem: mint fentebb olvashattad, az UPX használatának lehetnek hátrányai).
  
'''Chart of default sizes for an empty Application with various settings and operating systems'''
+
'''Méretek változása egy üres alkalmazás esetén, beállítások és operációs rendszerek függvényében'''
  
Well I ran tests I did on Lazarus 0.9.29 with FPC 2.4 (FPC
+
A tesztekhez változatok: Lazarus 0.9.29 és FPC 2.4 (Windows-on FPC 2.2.4). ***************************************************** Az ''Optimized compiler'' a fentebbi tanácsok alkalmazását jelenti ''UPX használata nélkül''. A ''Default Lazarus'' pedig azt ahogy telepítve lett a csomagból/telepítővel. Az ''LCL without debug informations'' jelentése, hogy a Lazarus IDE és LCL hibakeresési információk nélküli (-g-) újraépítése után.
2.2.4 with Windows). ''Optimized compiler'' mean using the advices above but ''without using UPX''. ''Default Lazarus'' means as installed from package/setup. ''LCL without debug informations'' mean after rebuilding Lazarus IDE and LCL without debug informations (-g-).
 
  
 
<TABLE WIDTH=642 BORDER=0 CELLPADDING=1 CELLSPACING=0>
 
<TABLE WIDTH=642 BORDER=0 CELLPADDING=1 CELLSPACING=0>
Line 154: Line 154:
 
</TABLE>
 
</TABLE>
  
=== Why is the linking so slow on Windows? ===
+
=== Miért lassú az alkalmazások építése Windows-on? ===
  
This problem is fixed in FPC 2.2 and Lazarus 0.9.24. Please update your Lazarus. For older versions read text below.
+
Ez a hiba javítva lett az FPC 2.2 és a Lazarus 0.9.24 változataiban. Frissítsd a Lazarus-t. <!--Régebi változatokkal kapcsolatban olvasd el a következő szöveget.
  
 
Generally speaking, compilation on Windows takes more time then other platforms because the GNU Linker utilized by Free Pascal is slow on this platform. This problem only affects Windows, and is only bad on relatively old computers (less then 1Ghz) and computers with little RAM (128MB or less).
 
Generally speaking, compilation on Windows takes more time then other platforms because the GNU Linker utilized by Free Pascal is slow on this platform. This problem only affects Windows, and is only bad on relatively old computers (less then 1Ghz) and computers with little RAM (128MB or less).
Line 165: Line 165:
  
 
'''Note''': In 2.1.1 Windows uses an internal linker for win32/64/ce which speeds the process up a bit. A Lazarus recompile then eats about 280MB.
 
'''Note''': In 2.1.1 Windows uses an internal linker for win32/64/ce which speeds the process up a bit. A Lazarus recompile then eats about 280MB.
 +
-->
 +
=== Melyikre van szükségem: ppc386.cfg vagy fpc.cfg? ===
  
=== Do I need ppc386.cfg or fpc.cfg? ===
+
Csak az fpc.cfg kell neked. Így a fordító tudja hogy hol vannak a függvénytárak.
  
You only need fpc.cfg. This way the compiler knows where to find the libraries.
+
=== Hogyan fordítsam a lazarus-t? ===
  
=== How do I compile lazarus? ===
+
Valahogy így:
 
 
Do something like this:
 
 
  $ cd lazarus
 
  $ cd lazarus
 
  $ make clean all
 
  $ make clean all
  
 +
<!--
 
=== How do I build other projects based upon the LCL ===
 
=== How do I build other projects based upon the LCL ===
  

Revision as of 20:12, 12 July 2010

العربية (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)


Lazarus GY.I.K.


folyamatban...

Általános

Miért olyan nagyok a létrehozott binárisok?

A binárisok azért nagyok, mert hibakeresési információkat is tartalmaznak, amelyekre a gdb (GNU Debugger) használatakor van szükség.

A fordítónak van egy kapcsolója amellyel el lehet távolítani a hibakeresési információkat a futtatható állományból (-Xs), de egy hiba miatt (a 2.0.2 és korábbi változatokban) ez nem működik megfelelően. A hiba már javítva van a fordító 2.0.4 és későbbi változataiban.

Használhatod a 'strip' nevű programot a hibakeresési szimbólumok eltávolításához a futtatható állományból. Ez a lazarus könyvtárában található (például: lazarus\fpc\bin\i386-win32\).

Csak írd a parancssorba: "strip --strip-all <a_futtatható_fájl_neve_útvonallal>".

Ha még kisebbre akarod a programod méretét, kipróbálhatod az UPX programot. Az UPX egy nagyon jó tömörítő kifejezetten futtatható állományok tömörítéséhez. It includes no memory overhead due to in-place decompression. Nagyon gyorsan tömöríti ki az állományokat (~10 MB/másodperc egy Pentium 133 gépen).

Az UPX hazsnálatához írd a parancssorba: "upx <a_futtatható_fájl_neve_útvonallal>".

Miután mindkét parancs (strip és upx) is lefutott, egy Lazarus-szal készített egyszerű GUI alkalmazás mérete kb. ennyi lesz:

  • ~ 700kb Linux-on
  • ~ 420kb Windows-on

Részletesebb választ az UPX használatának esetleges hátrányairól is, a Méret Problémák.

Fontos megjegyezni, hogy a lazarus 'hello world' példaprogram már eleve tartalmaz nagyon sok fontos összetevőt. Tartalmazza:

  • XML kezelő függvénytár
  • Képkezelő függvénytár png, xpm, bmp és ico fájlokhoz
  • Majdnem minden widget-et a LCL-ből (Lazarus Component Library)
  • Az teljes Free Pascal Runtime Library-t

Ezért nagyon nagy, de már majdnem mindent tartalmaz amire egy a valódi világnak készülő és komoly alkalmazásnak szüksége lehet.

A Lazarus által készített futtatható állományok nagy mérettel kezdődnek, de csak lassan nőnek, köszönhetően a Free Pascal fordítónak és a módnak ahogy a lazarus ablakok működik. Egy c++ projekt (csak példa, de más nyelvekre / eszközökre is igaz) kis mérettel kezdődneka 'hello world' esetében, de méretük gyorsan a sokszorosára nő amikor egy szükséged van összetevőkre egy komoly alkalmazás írásához.

Lazarus vs cpp.png


Gyors útmutató a Lazarus/FPC alkalmazások méretének csökkentéséhez (tesztelve a Lazarus 0.9.26 változatával)

  • 1. Project|Compiler Options|Code|Smart Linkable (-CX) -> Bejelölve
  • 2. Project|Compiler Options|Linking|Debugging| minden törölve kivéve a Strip Symbols From Executable (-Xs) -> Bejelölve
  • 3. Project|Compiler Options|Linking|Link Style|Link Smart (-XX) -> Bejelölve

A legfontosabb elem a 2. Egy egyszerű alkalmazás esetén a futtatható állomány mérete 1-3 MB körül lesz 15-20 MB helyett. Ezen a ponton megpróbálhatod ezt: "Project|Project Options|Compiler Options|Code|Optimizations|smaller rather than faster" -> Bejelölve (Figyelem: ez csökkentheti a tejesítményt)

  • 4. (Esetleg) Futtasd az "UPX <te_futtatható_programod>" parancsot a bináris állomány tömörítéséhez a -2 vagy -3 paraméterrel (Figyelem: mint fentebb olvashattad, az UPX használatának lehetnek hátrányai).

Méretek változása egy üres alkalmazás esetén, beállítások és operációs rendszerek függvényében

A tesztekhez változatok: Lazarus 0.9.29 és FPC 2.4 (Windows-on FPC 2.2.4). ***************************************************** Az Optimized compiler a fentebbi tanácsok alkalmazását jelenti UPX használata nélkül. A Default Lazarus pedig azt ahogy telepítve lett a csomagból/telepítővel. Az LCL without debug informations jelentése, hogy a Lazarus IDE és LCL hibakeresési információk nélküli (-g-) újraépítése után.

    Default Lazarus     LCL without debug informations
Ubuntu 64 bits / Lazarus 64 bits
Default application     13,4  Mb     7,5 Mb / 8
Optimized compiler     4,4 Mb     2,70 Mb (0.29svn FPC2.4 2,5)
   
Ubuntu 32 bits / Lazarus 32 bits
Default application     19,6  Mb     5,7 Mb
Optimized compiler     2,9 Mb     1,6 Mb
   
Windows XP 32 bits / Lazarus 32 bits
Default application     11,8 Mb     2,14 Mb
Optimized compiler     1,62 Mb     1,50 Mb
   
Windows Seven 64 bits / Lazarus 64 bits
Default application     12,3  Mb     3,20 Mb
Optimized compiler     2,14 Mb     2,16 Mb

Miért lassú az alkalmazások építése Windows-on?

Ez a hiba javítva lett az FPC 2.2 és a Lazarus 0.9.24 változataiban. Frissítsd a Lazarus-t.

Melyikre van szükségem: ppc386.cfg vagy fpc.cfg?

Csak az fpc.cfg kell neked. Így a fordító tudja hogy hol vannak a függvénytárak.

Hogyan fordítsam a lazarus-t?

Valahogy így:

$ cd lazarus
$ make clean all