此代码可与-O标志一起使用,但不能与-O标志一起使用,也不能与-O2和-O3标志一起使用:
void putc(char c)
{
static char *video = 0xb8000;
*video = c;
//video+=2;
}
void puts(char * s)
{
for(;*s;) putc(*s++);
}
void start_kernel(void)
{
putc('a');
for(;;);
}
尽管该代码在将字符写入缓冲区后相差一行,但该代码也没有标记-O标志和-O2标志,什么也不显示:
void putc(char c)
{
static char *video = 0xb8000;
*video = c;
video+=2;
}
void puts(char * s)
{
for(;*s;) putc(*s++);
}
void start_kernel(void)
{
putc('a');
for(;;);
}
我正在使用GRUB加载我的“内核”,所以我很确定A20线已解锁并且...
我不知道发生了什么事...