gcc: *.c Datei zusammen mit *.o Datei compilen



  • Ich habe versucht mal folgendes Beispiel zu machen: http://praseedp.blogspot.com/2010/07/64-bit-assembly-language-using-nasm.html

    Ich kann natürlich auch problemlos die *.asm Datei übersetzen zu einer .o-Datei.
    Doch wenn ich dann auch noch die C Datei compilen will mit gcc funktioniert das nicht.

    Also wie bekomm ich das hin, dass ich das compilen kann.
    Bei mir sieht das jetzt so aus:

    gcc caller.c rsnasm.o
    rsnasm.o: file not recognized: File format not recognized
    collect2: ld returned 1 exit status
    

    Ich habe auch schon gedacht die caller.c erst auch zu einem .o zu übersetzen aber das würde ja auch nicht funktionieren, da dann ja der Fehler wäre, dass Add nicht definiert ist.



  • Du mußt die 'rsasm.s' mittels

    nasm -f macho64 -o rsnasm.o rsnasm.s
    

    übersetzen (so wie im Source-Kommentar angegeben).
    Und danach dann den gcc aufrufen...


Anmelden zum Antworten