我正在尝试链接c程序和.asm文件(nasm)。 从打印helloworld的简单程序开始,我甚至无法做到这一点。编码和编译步骤如下所示:
hello.asm文件
extern sample
section .text
global main
main:
call sample
mov eax,1
mov ebx,0
int 80h
cfile.c
#include<stdio.h>
void sample()
{
printf("Hello world");
}
编译步骤:
jincy@jincy:~/codes/nasm$ nasm -f elf64 hello.asm
jincy@jincy:~/codes/nasm$ gcc -c cfile.c
jincy@jincy:~/codes/nasm$ gcc cfile.o hello.o
jincy@jincy:~/codes/nasm$ ./a.out
jincy@jincy:~/codes/nasm$
我尝试在网上寻找解决方案,但无法找到它。任何人都可以帮我解决这个问题吗?