Alle 22:46, mercoledì 19 maggio 2004, Alfonso Martone ha scritto: > Per curiosita', a cosa ti serve l'assembler da Linux? [...] In verita` l'assembly lo uso per altri motivi. Nel senso che il risultato finale della compilazione e` un binario. Intendo un binario vero e proprio, senza alcun header, ne elf ne a.out. Quindi non e` prodotto e non ha a che fare con Linux. Ho comunque posto la domanda qui perche` gli strumenti con i quali sto scrivendo e compilando i sorgenti sono strumenti Linux. Il problema, lo ripeto, e` che non riesco a fare in modo che l'assemblatore (nasm) e il compilatore C (gcc) producano dei file oggetto in modo tale che il linker (ld) possa fare il suo lavoro in modo corretto. Probabilmente c'e` qualcosa di subdolo che non va, dato che come ho mostrato nella email precedente con objdump si desume che le informazioni contenute nei file oggetto siano corrette. Ne approfitto per fare un'altra domanda. Come ho detto il binario finale dovra` essere un binario ``puro''. Dato che pero` il sorgente e` scritto in piu` di un linguaggio, e le varie parti hanno bisogno di scambiarsi informazioni, devo prima ottenere il codice oggetto di ogni sorgente per poi linkarli insieme. Quindi mi viene un dubbio. Il codice oggetto che produco ora, da quanto mi dice objdump, e` un codice oggetto ELF. Ora, io non ne capisco molto di queste cose, ma esistono codici oggetti ELF e codici oggetti ``binari puri''? Sinceramente ero convinto che il codice oggetto fosse prodotto indipendentemente dal tipo dell'output finale che il linker doveva generare. A quanto pare invece no. Giungo alla domanda: posso linkare due codici oggetto ELF insieme per ottenere un binario finale senza alcun header? E se no, come specifico sia a nasm che a gcc di generare codici oggetto adatti a questa operazione? (Ho gia` letto i man di entrambi, ma non ho trovato nulla di utile) Grazie in anticipo -- Domenico De Felice Real programmers don't write in BASIC. Actually, no programmers write in BASIC after reaching puberty.