小编Dan*_*pez的帖子

加载内核时QEMU崩溃

我已经创建了一个C内核,我正在QEMU模拟器中加载内核.但是当我加载内核时,它似乎崩溃QEMU并且它抱怨它无法访问kvm文件夹.这是否意味着缺少kvm,或者我不是管理员; 因为我以root管理员身份登录 以下是源自终端的错误信息:

danny@ubuntu:~/Desktop$ sudo qemu -kernel os.bin
open /dev/kvm: No such file or directory
Could not initialize KVM, will disable KVM support
pci_add_option_rom: failed to find romfile "pxe-rtl8139.bin"
qemu: fatal: Trying to execute code outside RAM or ROM at 0x000a0000

EAX=00004500 EBX=00000000 ECX=00000000 EDX=00000000
ESI=00000000 EDI=00000000 EBP=00000000 ESP=00009fe0
EIP=0000fdfb EFL=00000002 [-------] CPL=0 II=0 A20=1 SMM=0 HLT=0
ES =9000 00090000 ffffffff 00cf9300
CS =9020 00090200 0000ffff 00009b0f
SS =9000 00090000 0000ffff 00009300
DS =9000 00090000 0000ffff 00009300
FS =9000 00090000 …
Run Code Online (Sandbox Code Playgroud)

c linux kernel qemu emulation

7
推荐指数
1
解决办法
2万
查看次数

NASM猜数字游戏错了

我决定创建一个使用Linux系统调用的简单猜测数字游戏,以及一些C函数来提供更简单的界面.当我将int转换为字符串并在屏幕上打印正确答案时,我似乎遇到了分段错误.

这是输出:

Enter A Number One Through Ten:" : 
3
Response did not match! The Answer Is:Segmentation fault
Run Code Online (Sandbox Code Playgroud)

这是C代码:

// print.c
#include "/usr/include/stdio.h" 
#include "/usr/include/string.h"
#include "/usr/include/stdlib.h"
#include "/usr/include/time.h"
void print(const char* msg)
{
    printf(msg);
    return;
}
int compare(const char* str, const char* str2)
{
    int i = strcmp(str, str2);
    if (i == 0)
    {
        return 1;
    }
    else
    {
       return 0;
    }
}
int divide(int num, int dem)
{
    if (dem == 0)
    {
        printf("Undefined");
        return 0;
    }
    else …
Run Code Online (Sandbox Code Playgroud)

c linux nasm system-calls segmentation-fault

6
推荐指数
2
解决办法
1191
查看次数

标签 统计

c ×2

linux ×2

emulation ×1

kernel ×1

nasm ×1

qemu ×1

segmentation-fault ×1

system-calls ×1