Есть программа для линукс, которая содержит функцию для вывода одной буквы в консоль:
global test
section .data
msg db 0xD0, 0xBF, 10
msg_len equ $-msg
section .text
test: push ebp
mov ebp, esp
mov eax, 4
mov ebx, 1
mov ecx, msg
mov edx, msg_len
int 80h
mov eax, 1
mov ebx, 0
int 80h
mov esp, ebp
pop ebp
ret
И программа на C, которая пытается вызвать подпрограмму test:
extern void test();
int main(){
test();
}
Выходит 2 объектных файла, которые я пытаюсь слинковать в исполняемый файл:
gcc main.o file.o -m32
Ответ:
main.o: In function main':
main.cpp:(.text+0x1b): undefined reference totest()'
Подскажите пожалуйста - как правильно поступить, чтобы получился исполняемый файл