📄 c.cpp
字号:
/**************************************************/ /**/ int g_x=0, g_y=0; /**/ /**/ char g_color=0x31; /**/ /**/ void kputc(char c,char color,int x,int y); /**/ /**/ void setcolor(char ); /**/ /**/ void newline(); /**/ /**/ void show(char *); /**/ /**/ void clear(); /**/ /**/ void delay(); /**/ /**************************************************/ class a{ public: a(){show("class A Init");} void p(){ show("class a.p called!"); } }; class a; a aaa; /***************************/ /* System Entry */ /***************************/ #ifdef __cplusplus extern "C" { #endif void c() { a ab; int color; if(color>=15) color=color-15; if(color==0)color++; setcolor(color++); setcolor(color++); show(" Thanks Snow,my love! Suport me forever " ); newline(); aaa.p(); ab.p(); dead: goto dead; while(1); } #ifdef __cplusplus } /*end extern "c"*/ #endif /*****************************************************************************//*****************************************************************************//* 延时*/void delay(){ int i=10000; int j=1000; for(i=0;i<10000;i++) { for(j=0;j<10;j++) {;} }}/** 清屏 只适用 80x25 模式*/#if 0void clear(){ int x=0,y=0; setcolor(0); for(;x<25;x++) { for(y=0;y<80;y++) kputc(0,0,x,y); }} #endif/* 设置当前字体颜色属性*/void setcolor(char color){ g_color=color;}/* 换行 */void newline(){ if(g_x>=15) g_x=0; else g_x++; g_y=0;}/* * 在屏幕的当前位置显示字符串*/void show(char *str){ int i=0; while(str[i] != 0) { if(str[i]!=' ') delay(); if(g_color>=15) g_color-=15; if(g_color==0) g_color++; g_color++; kputc(str[i++],g_color,g_x,g_y++); }}/* 文本驱动 kprint 把字符 c 以 颜色color 放在 行 : x (0...24 ) 列 : y (0...79 ) 处. (只适用于文本模式 80*25) */void kputc(char c,char color,int x,int y){ /* 指针 p 指向显存 */ char *p = (char*)0xb8000; /* 计算行位置*/ p += 2*x*80+y*2; /*放入显存 */ *p = c; *(p+1) = color;}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -