2011-03-20 5 views
0
$ gcc -m32 hw3.c -o hw3 
Undefined symbols: 
    "i", referenced from: 
     _main in ccuNMbgT.o 
     _main in ccuNMbgT.o 
    (maybe you meant: _i, _main , cstring=hey, supposed to supply an integer argument , cstring=after multiply, value is %d 
, _i$non_lazy_ptr , _printf , _environ , _atoi , _exit) 
ld: symbol(s) not found 
collect2: ld returned 1 exit status 

저는 일부 C로 어셈블리를하고 있습니다. 저는 gcc을 사용하여 컴파일 된 우분투에서 작동하는 예제를 컴파일하려하지만, Mac 터미널에서는 작동하지 않습니다.Mac에서 어셈블리를 컴파일 할 수 없습니다!

답변

1

문제를 말하고 해결책을주었습니다 ("어쩌면 당신이 의미하는 : ..."). 어셈블러에서 C 기호 앞에 밑줄이 붙는 지 여부는 플랫폼에 따라 크게 달라질 수 있습니다. OS X에서는 그렇기 때문에 C에서 "i"라는 변수를 참조 할 때는 어셈블러에서 "_i"라고 지정해야합니다.

+0

고마워요! 정말 오류를 이해하지 못했습니다, 당신의 도움에 감사드립니다! – Strawberry

관련 문제