对elf_i386的'memcpy'链接的未定义引用

问题描述

我正在尝试为我的自定义内核链接一个c文件,但一直出现此错误。 这是我的c文件

#include <string.h>
#define TRUE 1
#define FALSE 0

void main() {
    char vmem_back_buffer[3932160];
    char** vmem_descriptor = (char**)0x00008128;

    for(int i = 0; i < 1280*1024*3; ++i) {
        vmem_back_buffer[i] = 0xfb;
        vmem_back_buffer[i++] = 0xfb;
        vmem_back_buffer[i++] = 0xfb;
    }

    memcpy(*vmem_descriptor,vmem_back_buffer,3932160);

    while(TRUE) {
        int i = 1;
    }
}

这就是我的编译和链接方式

gcc -m32 -fno-pie -ffreestanding  -c src/kernel.c -o bin/kernel.o
ld   -m elf_i386 -o bin/kernel.bin -T src/linker.l bin/kernel_entry.o bin/kernel.o --oformat binary

我已经卸载并安装了不同的c库软件包,并尝试包含许多在线资源推荐的crti.o之类的东西。

我在做什么错了?

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)