Bináris a linux számára
How exactly does binary code work? - José Américo N L F de Freitas
Hol találok? Előszó Ez egy rövid bevezető kezdőknek. A következőkben leírjuk hogyan állítsd be a rendszert keresztfordításhoz, ami azt jelenti, hogy futtatható állományokat hozhatsz létre más rendszerekhez mint amin a fordítást végzed - pl. A rendszert melyen a fordítást végzed általában "gazdarendszer"-nek fentebb ez a Linux és azt a rendszert melyen a létrehozott binárist futtatni akarod majd "célrendszer"-nek nevezzük.
A FreePascal egy fordító és forráskódból gépi kódodú bináris állományokat készít. Ez a bináris tartalmaz információkat arról is hogy az operációs rendszer milyen módon kezelje az állományt.
Ezen kívül a binárisban hivatkozások vannak az operációs rendszeren alkalmazható műveletekre APIezért van különbség a Run-Time Library különböző operációs rendszerekhez szükséges változatai között. Mindezek miatt a készített bináris állományok rendszerfüggők.
Maga a FreePascal nem igényel sok beállítást. Képes binárisokat készíteni sok rendszerhez, csak kérd meg rá.
Ez azt jelenti, hogy keresztfordítást végezhetsz ugyanazzal a fordítóval egyszerű kódfordításra használva amíg kitartasz ugyanazon CPU mellett. Gazda és célrendszer eltérő CPU-n Ha más típusú CPU számára kell binárist készíteni, akkor speciális keresztfordítóra van szükség, olyanra amely a gazdarendszeren fut, de képes a más típusú CPU gépi kódját létrehozni az FPC esetében egy ilyen keresztfordítónak ismételten tudnia kell megcélozni az összes támogatott rendszert a cél CPU-n.
A VirtualBox szoftver letöltése és telepítése
Ez a keresztfordító általában ugyanabban a könyvtárban tárolható ahol az eredeti fordító is van. Ilyen keresztfordítót készíthetsz magad is, vagy használhatod a néhány rendszerhez előre elkészített és az FPC csapat által közvetlenül terjesztett változatokat is általában hordozható eszközökön futó rendszerek ezek melyek többnyire nincsenek gazdarendszerként használva. Assembler és linker A fordító csak egy rész.
Szükségünk van még assemblerre és a linkerre is. Ezek az eszközök általában nem képesek binárisokat létrehozni eltérő rendszerek számára.
file (Unix)
Ezért van, hogy speciális bináris a linux számára 'ld' és assemblert 'as' használunk minden célrendszeren. Ezeket nevezzük binutils -nak.
Például minden célrendszerhez eltérő system. Ezek a unitok létrehozhatók akár a célrendszerre fordításhoz beállított fordítóval, vagy esetleg használhatod a hivatalosan terjesztett unitokat, amelyek pontosan megegyező FPC változattal készültek illetve lettek kiadva ha elérhető a gazdarendszeren használható formátumban. Konfiguráció Miután az fpc config fájl beállítása megtörtént, a keresztfordítás könnyűvé válik, elfeledkezhetsz az unalmas részletekről.
- fejezet - Bináris Linux kompatibilitás
- Bináris driverek a Linuxban: a szükséges rossz - HWSW
- Linux Manpages Online - pavaalkatresz.hu manual pages
- Hivatkozások 1.
- Témák haladóknak
- Hogyan működik a pénz hogyan lehet
- Csomagok telepítéséhez és eltávolításához a rendszerből a dpkg programot kell használni.
- file (Unix) – Wikipédia
Ugyanezt kell tenni az LCL lazarus component lybrary esetén is ha Lazarus-t használsz. Ezután már fordíthatod is a pascal programokat az eltérő célrendszerre. Az elkészült binárisok átmásolhatok egy olyan gépre amin a célrendszer fut vagy futtathatók emulátorban pld. Alap műveletek Van néhány általános művelet a keresztfordításban amit minden esetben el kell végezned: Szükség van a FreePascal fordítóra ahhoz a rendszerhez amelyen a fordítást el akarod végezni.
Cross compiling/hu
Szükség van a FreePascal forráskódjára kivéve akkor ha valaki már elkészített mindent. Szükség van olyan binutils programokra, melyek a gazdarendszeren futtathatók és a célrendszeren futtatható binárist hoznak létre.
Ezeket bináris a linux számára lefordítod forráskódból vagy megszerzed. Néha szükség lesz fájlokra a célrendszerből amelyre fordítasz. Információk az ARM processzoron futó linux-okra pl.
Zaurus fordításról a Keresztfordítás beállítása ARM rendszerhez részben találhatók. A különbség annyi, hogy a bites rendszer képes lesz bites programokat fordítani, de ehhez az FPC fordítási folyamata miatt jó néhány dolgot el kell még végezni.
Nekem nem voltak meg, ezért írtam néhány szkriptet:!