Lazarus Faq/hu
│
العربية (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.
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|Project Options|Compiler Options|Code|Smart Linkable (-CX)" -> Bejelölve
- 2. "Project|Project Options|Compiler Options|Linking|Debugging|" minden törölve kivéve a "Strip Symbols From Executable (-Xs)" -> Bejelölve
- 3. "Project|Project Options|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. Régebi változatokkal kapcsolatban olvasd el a következő szöveget.
Általánosságban elmondható, hogy a fordítási idő Windows-on több időt vesz igénybe, mint más rendszereken, mert a GNU Linker, amit a Free Pascal használ lassú ezen a rendszeren. Ez a jelenség csak a Windows-on áll fenn, és csak a régebbi gép (1Ghz alatt) valamint kevés memória (128MB vagy kevesebb) esetén zavaró.
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