汇编函数未定义引用

时间:2016-03-06 22:36:45

标签: c assembly

作业...... 我有一个C文件:

extern int count(char *string, char c);

int main(void)
{
  char string [] = "aabcabcabc";
  printf("The number of a's in the string is %d\n", count(string, 'a'));
  return 0;
}

这是给定的,我无法调整。我的工作是尝试在count中编写汇编函数。我只是想把事情搞定,因为这是我第一次编写汇编代码。我应该用make A = count

编译它

我的汇编代码是

count:


        movl $4, %eax
        ret

我收到编译错误

blade57(4)% make A=count
/groups/ulab/bin/i386-ld -N -Ttext 1000e0 -o count.lnx \
        /groups/ulab/pcdev/lib/startup0.opc /groups/ulab/pcdev/lib/startup.opc \
        countc.opc count.opc /groups/ulab/pcdev/lib/libc.a
countc.opc: In function `main':
/courses/cs341/s16/cheungr/pmanca/mp2/countc.c:12: undefined reference to `count'
make: *** [count.lnx] Error 1

有人可以帮助我理解为什么会这样,我该怎么办?我假设我在count.s文件中遗漏了一些东西,但我不知道是什么。 作为一个FYI,这应该是i386汇编

0 个答案:

没有答案