Portál AbcLinuxu, 12. května 2025 12:39
ahoj, mel bych takovy hloupy dotaz
pri shaneni nekterych programu musim obcas sahnout primo po zdrojaku, ale prave ted, kdyz mam 64bit pocitac i distro, je obcas problem sehnat source code pro 64bit, neb nektere jsou i jako source code oznaceny pro architekturu x86 (casto i386).
k tomu bych se chtel tedy optat, zda by mi nekdo vysvetlil, jakej je rozdil v source code pro x86 a x86_64
nasel jsem par stranek v AJ, ale po prelouskani nekolika strankoveho textu jsem byl z toho jeste zmatenejsi, nez ted
predem diky za odpovedi
long
u nebo ukazatele je 4 bajty, a na jiné platformě je to 8 bajtů. Pokud se pak třeba v kódu přiřazuje z pointeru do int
u, bude to na x86 fungovat (oba mají 4 bajty), ale na x86_64 ne (pointer má 8 bajtů, int
stále 4).
Většinou se int na pointer převede s varováním a mělo by to chodit, ovšem problém bude pokud budete chtít převést pointer na int (8 -> 4)Přesně takhle jsem to myslel,
int
na levé straně přiřazení, pointer na pravé.
ha, tak to prase budu asi ja :)
moc vsem dekuji za osvetleni. uz je mi to jasnejsi.
jinak opravdu jsem nasel zdrojak typycky jen pro x86. nevim co to bylo za program, ale slo stahnout jen zdrojak a ten byl NAZEV-VERZE-SRC-I386.tar.gz. no, ale ted jsem to pochopil tak, ze bych jej taky prelozil, jen by mohl delat bordel namisto funkcnosti
jeste jednou vsem dekuji
A keď to skompiluješ s parametrom -m32 ?
gcc -m32 priklad.c
64bit je uplně k ničemu! Nejde tam skype! Při příští instalaci jdu zpátky na 32bit! Když vývojáři nerespektujou 64bit, tak já ho začnu respektovat až ho začnou respektovat vývojaři!!!!!
Jak to myslíte že mám jít při příští instalaci kam chcu? :-) Normálně sem zadal ten příkaz s tím -force-architekture ale stejně mi to pak nahlásí že mi chybí nějaká knihovna Qt či co ale mám podle návodu nainstalovaný všechny. Neumím zrovna moc extra anglicky ale psali tam něco že tam ta knihovna musí být ještě jednou ale bez toho aby měla v názvu qt64 ale nejsu si jestej tak sem radši moc do toho nevrtal. Jestli mi poradíte budu rád. A taky co sem si tam dočetl na tom foru tak to startuje 2 minuty nebo co? Je to tak?
Pro kompilaci 32bit aplikací je třeba mít na 64Bit systému nainstalovány i 32bit knihovny.
Proto je třeba nainstalovat i tu verzi „bez“ 64ky, které tam ve většině distribucí defaultně nejsou.
No když to hlásí že chybí nějaká knihovna, tak je dobré ji doinstalovat, jinak to opravdu nebude funkční :)
Jinak příkaz linux32 (třeba 'linux32 xterm'), také řeší hodně problému ze starším stále kvalitním softem (i hrama).
Tiskni
Sdílej:
ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.