Lo'oRiS il Kabukimono writes: > Se ho capito bene in genere gli eseguibili linux sono ELF. Ora si, una volta no. A prescindere dalla piattaforma, esistono vari formati per gli eseguibili rilocabili (i.e. programmi e librerie shared), tra cui ELF, COFF e AOUT e relative varianti credo siano i piu` noti (piu` altri sotto-formati per le informazioni di debug ad uso dei debugger). Fatto sta che, se non ho capito male, molti dei sistemi ad oggi sono sistemi ELF, probabilmente perche` ELF crea meno casini rispetto agli altri nella risoluzione dei simboli... Ad esempio, supponi di avere un eseguibile linkato staticamente con la libreria A, e dinamicamente con la libreria B, e la libreria B a sua volta usa simboli provvisti dalla libreria A, ma alcuni sono ridefiniti nel programma... con ELF credo si riesca a gestire la cosa in maniera relativamente semplice, con altri formati dubito. Apropos, Windows mi pare usi un formato suo per eseguibili e librerie condivise (PE, mi pare): ma e` vero che ogni DLL non deve avere dipendenze non risolte, per cui bisogna linkarla staticamente con le sue dipendenze (i.e. altre librerie .lib), e che se ci sono N DLL con le stesse dipendenze finisci per tirartele dentro N volte (le dipendenze)? > Nel kernel c'e` anche una voce per gli eseguibili A.OUT, che sembra > essere il vecchio formato (se si, l'elf e` un evoluzione o e` > completamente diverso?). Non lo so per certo, ma credo che sia completamente diverso (leggevo da qualche parte che con AOUT bisognava fare dei trucchi notevoli per supportare l'uso di librerie condivise), e comunque casi del tipo di cui sopra rimanevano poco gestibili. > Questo cos'ha a che fare col fatto che se in gcc non specifico un > nome di file, me lo chiama a.out ? Credo relativamente poco: ``a.out'' e` solamente il nome di default per il file di output dell'assemblatore (che non e` detto che sia in formato AOUT). -- Per iscriversi (o disiscriversi), basta spedire un messaggio con SOGGETTO "subscribe" (o "unsubscribe") a mailto:linuxtrent-request@xxxxxxxxxxxxxxxxx