- 浏览: 55989 次
- 性别:
- 来自: 长沙
最新评论
-
u012398587:
请问我想在同一个窗口实现不同图形的绘制该加什么函数呢?就是使用 ...
MFC菜单工具栏以及状态栏编程 -
Tveiker:
NeilKang 写道你好,能交流一下吗?我编译老是不成功,我 ...
利用Eclipse调试mysql-5.5.25a源码 -
NeilKang:
你好,能交流一下吗?我编译老是不成功,我的QQ36983266 ...
利用Eclipse调试mysql-5.5.25a源码 -
Tveiker:
bewithme 写道嗯,顶住,希望有一天看到你写的OS。谢谢 ...
裸机跑起自己得程序 -
Tveiker:
沙舟狼客 写道能不能把你的环境给我说一下,具体怎么配置运行这段 ...
裸机跑起自己得程序
文章列表
1.当写一个函数时,函数名与内建函数重名时,加上编译选项 -fno-builtin.非要强制使用内建函数 加修饰 _builtin_
2.当出现“undefine reference _stack_chk_fail_”时可取消栈保护。加上编译选项
-fno-stack-protector
从键盘输入一个数,然后求出连续整数相加使其和刚好和输入的数相等。
如:15=1+2+3+4+5
15=4+5+6
15=7+8
开始想了很久,并且一直在想计算,比如例举所有...这肯定能实现,但是效率不高。后来想起了等差数列来计算。这时候就只要寻找合适了首项以及对应的长度即可。
对于一个L个步长为1首项为a1的等差数列和S=(2a1+L-1)*L/2 ===>L^2-(2a1-1)L-2S=0==>令b=2a1-1 则
L=(-b+sqrt(b^2+8S))/2.
所以此时先判读 delta=b^2+8S是否是完全平方数,是则看delta-b是否 ...
利用Eclipse调试mysql-5.5.25a源码
昨天下载了mysql5.5.25a源码并按装在了自己的机器上。所以今天就打算试着调试调试。当然是很简单的调试了(这个得慢慢来,急不得,还有很多知识要补充).所以只是入门级的看看,窥视一下。
1. 首先在Eclipse安装开发C++的插件了。这个不是重点,可以到网上去找找,由于我以前开发过Andriod驱动以及HAL代码,所以已经装好了,所以这里不怎么好演示了。
2.当然是打开Eclipse。New->project->C/C++
...
Ubuntu下源码安装MySQL-5.5.25a
最近感觉各种事想做,做IT的没有休息的时候。今天在Linux下本来玩玩Android的源码看下的。那小的怎看根目录的空间已然不多。所以想把MySQL卸掉然后装到自己想要装的地方,所以又开始弄起MySQL来了(好像违背了我的初衷啊^_^),在加上我的导师是高数据库的,下学期还要想跟着导师写个小型数据库呢,所以干脆换了今天的目的。
1. 当然首先得去官网下个源码http://www.mysql.com/downloads/mysql/#downloads注意是源代码的,不要下了二进制发布包啊
...
栈的链表实现
记得以前大二学数据结构时利用C++数组实现过栈。这几天还是在看数据结构和算法方面的书,期望提高一下自己的内功。然后看到了很多关于栈的实现,其中要求利用链表实现很多。当时觉得这个应该很简单,所以直接就看了答案,看是否和自己的思路一样。当然,思路是一样了。但是发现所有的栈链表实现都是定义了一个全局变量来表示栈顶,然后这个栈的功能就是修改这个变量。
那么就有个问题了,这就代表这个栈结构每次只能实例化一个栈来用,不能用作两个,那如果某个应用需要利用两个栈,这就不好处理了,所以本人就想自己实现一个满足这个需求的 ...
tar命令
[root@linux ~]# tar [-cxtzjvfpPN] 文件与目录 ....
参数:
-c :建立一个压缩文件的参数指令(create 的意思);
-x :解开一个压缩文件的参数指令!
-t :查看 tarfile 里面的文件!
特别注意,在参数的下达中, c/x/t 仅能存在一个!不可同时存在!
因为不可能同时压缩与解压缩。
-z :是否同时具有 gzip 的属性?亦即是否需要用 gzip 压缩?
-j :是否同时具有 bzip2 的属性?亦即是否需要用 bzip2 压缩?
-v :压缩的过程中显示文件!这个常用,但不建议用在背景执行过程!
-f :使用档名,请留意, ...
由于上学期学习了数据库的基本原理,而且也学会了很多SQL语句。然而就在MySQL上进行实践时,乱码问题一直没解决,但是当时由于要验收实验所以就没纠结这些枝节问题。今天有空了,所以到网上找了很多来看,去接觉这个问题。终于黄天不负有心人。I GOT IT!
首先说明一点,仅仅改变配置文件是不行的。
首先在/etc/mysql/my.cnf中修改
[client]下
default-character-set=utf8
[mysqld]
default-character-set=utf8
init_connect='SET NAMES utf8'
PS:这个文件只有当在终 ...
这几天还是在学习《自己动手写操作系统》,终于将保护模式了了。
上来贴上代码:
%include "pm.inc"
org 0100h
xchg bx,bx
jmp START
[SECTION .gdt]
GDT_DEC: Descriptor 0 , 0 , 0
CODE32_DEC: Descriptor 0 ,Code32SegLen-1,DA_32+DA_CE
VIDEO_DEC: Descriptor 0b8000h , 0ffffh,DA_DRW
DATA32_DEC: Descriptor 0 ,Data32SegL ...
前几天将段式保护模式从理论上了解了。所以这几天就借助一些书籍和网络得力量来争取实践---将代码跳入保护模式。
首先了解跳入保护模式的基本步骤
1、将代码段基址存入GDT
2、利用lgdt将GDT基址以及长度加载到gdtr寄存器
3、 ...
我们都知道,现在我们用计算机时操作系统都傲游在她的保护模式上,而一开始计算机是运行在保护模式上的。那么之间是如何转换得呢?
首先温习一下实模式下的物理地址和寄存器代表得(逻辑地址)之间得关系
物理地址=段值* ...
YLMF OS安装vmare tool
今天我也下了一个ylmf系统-4.0.由于我对它不是很熟悉,所以把他安装在了虚拟机中,慢慢去学习他。所以要安装vmware tools
首先解压安装包到桌面。打开终端
cd ~/桌面
tar -zvxf Vmware*******[安装包全名]
cd VMwre*****
sudo ./vmware-install.pl
安装
其中在安装到一个步骤时,提示
Search for a valid kernel header path....
the path "" is not val ...
1.到Bochs官方下载源码包,因为用到了调试功能。 Bochs 2.5下载地址 http://sourceforge.net/projects/bochs/
2.安装G++编译器
sudo apt-get install g++
如果不安装G++编译器, 在执行configure时就会出现一些错误。
3.执行配置,开启调试和反汇编
./configure --enable-debugger --enable-disasm
4.ERROR: X windows gui was selected, but X windows libraries were not found.
出现这个错误 ...
这是一个关于启动得程序。其目标是将一个程序不依赖任何操作系统而运行起来。下面是关于它的一点内容。
首先了解下PC开机后得一些动作
1)、PC启动时Intel系列CPU进入实模式设置CS=0xffff,IP=0x0000,所以CPU先执行0xffff0处代码[ROM-BIOS起始位置]。
2)、BIOS进行一系列自检,然后初始化位于地址0处得中断向量表。
3)、BIOS将启动盘第一个扇区(512B)装入到内存地址0x7c00处并跳到此处执行此处代码。
所以我们所写的程序就应该放在0x7c00处,即使没有操作系统我们的程序也能运行起来。
好吧Coding now,I ca ...
为了学linux了,前天在vmware7装redhat(其实我硬盘上有Ubuntu只是视频学习时那个里面的播放器不是很理想所以想装个虚拟机中的linux) 提示该光盘无法被挂载,还以为是光盘错误,换了N个盘,又装了很多次,最后观察到,换了盘之后点确定,里面就提示该光盘无法被挂载,根本就没有读光盘。 郁闷之中……
试了好多次,重装几次,还是没解决。后来才发现,VMware换了光盘之后(或安装过程弹出换CD后),竟然默认断开光盘连接,也就是说光驱处于Disconnect的状态。
打开配置,CD/DVD里面的驱动器状态connected的√没打上,当然系统也就无法挂载光驱了。
点击虚拟机 ...
Linux下测试main函数的参数意义
最近其实一直再写java程序,但是昨天接到我表弟的一个请求,他在自学C,他看到了一个很特别的程序,其main函数的声明int main(int argc,char* argv[],char* env[]);这个对于他经常写的函数int main()发生了很大的区别,他向提问说,那些参数是什么东西,有什么意义,说来惭愧,我学C很久了,从来就没这样写过,所以看了一些书籍寻求解释。后来发现了
1、argc代表该程序运行是参数的个数(如ls -l其参数个数为2 ,gcc Hello.c -o Hello其参数个数为4,也就是字 ...