Probleme kompilieren von assembly-Datei - Fehler: undefined reference to `Funktion name'

Ich versuche, einen Blick auf test-Programm, mein professor hat uns, aber ich habe Probleme beim kompilieren. Ich bin auf Ubuntu 14.04. Ich bin kompilieren Sie es mit

gcc -Wall test.c AssemblyFunction.S -m32 -o test

Hatte ich Probleme beim ausführen von code auf einem 64-bit-Computer und lese, dass das hinzufügen von -Wand-und -m32 wird es ermöglichen, zu arbeiten. Zu tun, dass Feste, das erste problem hatte ich, aber jetzt bin ich immer die Fehler: undefined reference to `addnumbersinAssembly'.

Hier ist die C-Datei

#include <stdio.h>
#include <stdlib.h>

extern int addnumbersinAssembly(int, int);
int main(void)
{

    int a, b;
    int  res;

    a = 5;
    b = 6;


    //Call the assembly function to add the numbers
    res = addnumbersinAssembly(a,b);
    printf("\nThe sum as computed in assembly is : %d", res);

    return(0);
}

Und hier ist die assembly-Datei

.global _addnumbersinAssembly
_addnumbersinAssembly:
    pushl   %ebp
    movl    %esp,%ebp


    movl 8(%ebp), %eax
    addl 12(%ebp), %eax    # Add the args


    movl    %ebp,%esp
    popl    %ebp
    ret

Vielen Dank für Ihre Zeit. Ich habe versucht, dies herauszufinden, für Stunden, so dass ich für jede Hilfe dankbar.

InformationsquelleAutor LurkDog | 2014-09-26
Schreibe einen Kommentar