- 博客(15)
- 资源 (3)
- 收藏
- 关注
原创 在Linux下实现COM组件(原创)
<br />好久没有写代码啦,今天翻到大学时候写的COM组件,当时那个叫崇拜COM技术啊。不过发现,工作中根本没啥用处。反正没事干,想想把COM组件在Linux环境下,实现一下。<br />COM组件是一种编程规范,它规定了软件编程的一般方法,虽然它由Microsoft公司制定和提出,但是它的规则也可以在Linux下使用,下面是在Linux下实现COM组件的方法。<br />----参考《COM技术内幕》一书。<br />COM实现的技术,主要是C++的虚函数、多继承以及动态链接库(DLL)技术。<br /
2010-10-06 14:09:00 5376 2
原创 百度面试题(原创)
国庆在家没事,忽然翻到以前在学校给王兄做的百度面试题,看看代码,感觉对不住王兄,没事又做了一遍~~~ 1.给当前目录下的所有.cpp文件增加一个.bak后缀的备份文件#!/bin/shfor file in `ls`do len=`expr length ${file}` len_beg=`expr ${len} - 3` if [ `expr substr ${file} ${len_beg} ${len}` = ".cpp" ] then
2010-10-06 14:06:00 688
原创 Linux常用命令学习总结 - 日期时间安排类命令(3)
1. 三个星期后的下午5点执行/bin/ls命令?使用命令:at命令:at 5:00 PM + 3 weeks /bin/ls说明:at命令有一个queue的概念,每一个任务存储在一个对应的queue中,at命令有a-z,A-Z共52个queue。命令atq相当于at –l,命令atrm相当于at –d。参数-m表示at命令执行完后没有结果,也要把结果寄送给用户。2.
2009-05-27 23:44:00 577
原创 Oracle的内存结构(一)
1.Oracle的内存结构图? Oracle的内存结构是由SGA和PGA两大部分组成的,对于PGA是和进程相关的,每一个服务器进程和后台进程都对应一个PGA。而SGA是Oracle实例的重要组成部分,主要包括:JAVA POOL/Large POOL/Share POOL/数据字典缓冲区/重做日志缓冲区/数据缓冲区/数据流POOL等等。具体的结构图可以参考各种Oracle书籍。2.SG
2009-05-27 23:42:00 782
原创 启动Oracle数据库
1.startup nomount非安装启动,这种方式启动下可执行:重建控制文件、重建数据库读取init.ora文件,启动instance,即启动SGA和后台进程,这种启动只需要init.ora文件。2.startup mount dbname安装启动,这种方式启动下可执行:数据库日志归档、数据库介质恢复、使数据文件联机或脱机,重新定位数据文件、重做日志文件。执行“nomou
2009-05-27 23:40:00 437
原创 Oracle数据库中的索引(二)
5.Oracle系统中的逆序键索引有什么作用? 在Oracle系统中的逆序键索引是指索引列的字节按字节进行排序,而不是按索引的列值进行排序。使用逆序键索引可以使得修改索引的操作分布在整个索引平衡树中,而不是集中在一小部分的叶块当中。需要创建一个逆序索引,可以使用下面的命令: Create index I on t(a,b,c) reverse; 修改逆
2009-05-27 23:38:00 985
原创 Oracle数据库中的索引(一)
Oracle中的索引非常多,也非常复杂,但是对于oracle的开发人员和系统管理员来说,索引至关重要,因为使用了恰当的索引,将会大大提高数据库的访问性能,否则就有可能使系统处于泥潭当中,不能自拔。这篇文章只是自己的总结,不可能对oracle当中的所有索引都进行剖析(也没有这个能力^_^),希望能对你有所帮助。 1. 什么是索引?为什么要引用索引? 对于查询
2009-05-17 03:12:00 578
原创 Linux常用命令学习总结 - 文件目录管理类命令(2)
(二)文件目录管理类命令 在admin用户的home目录下有两个文件textfile1,textfile2和textfile3。现在admin已经登陆到系统当中,并且工作在他的HOME目录下(/home/admin)。 1. 将textfile1的内容加上行号后(空行不加行号)附加到textfile2中? 使用命令:cat 命令: cat
2009-05-17 02:03:00 731 1
原创 Linux常用命令学习总结 - 用户管理类命令(1)
Linux命令是高效使用Linux的基础,也是Linux系统管理员的必备知识,同时在项目开发中用简单的shell脚本常常能够解决复杂的问题,从而带来事半功倍的效果。下面是我学习Linux命令一些小心得,主要以问题的形式展现命令的功能,这样可以使命令的学习更加有动力^_^(下面的命令都是最基本的,大虾们就不用看了,不过还是希望你们给出建议,谢谢^_^) (一)用户管理类命令
2009-05-17 01:12:00 642 1
原创 解析Linux的MakeFile
Linux下Makefile的作用是使用8086编译器将bootsect.s和setup.s分别编译成各自执行的模块,使用gcc编译其它linux文件,生成模块system,最后使用tools目录下的build工具,将三者组合成一个可执行的映像image。在makefile文件当中:①.ROOT_DEV=dev/hd6指的是创建内核镜像时,所使用的默认文件系统所在的设备。②.为什
2009-05-10 18:05:00 570
原创 DPL RPL CPL的区别和作用
1.DPL是描述符特权级,RPL是选择子特权级,CPL是当前执行的代码段的特权级2.对于一致性代码段(能被特权级相同或低的代码访问),CPL不发生改变;对于非一致性代码段,CPL发生改变3.DPL:数据段的DPL规定了访问它的最低特权级 使用调用门访问的非一致性代码段的DPL规定了访问它的特权级 调用门的DPL规定了访问它的最低特权级 一致代码段和不通过
2009-05-10 18:01:00 1399
原创 从保护模式跳到实模式的过程/
1) 要考虑的问题有: (1)数据段的地址怎么办?(程序执行时要使用的数据存储的地方) (2)堆栈段的地址怎么办?(包括:基地址和堆栈指针sp) (3)代码段的地址怎么办?(cs)2) 数据段用cs的值,因此要保存cs的值3) 堆栈段的值用一个变量来保存4) 代码段cs的值,通过jmp指令和一个mov操作来进行
2009-05-10 18:00:00 395
原创 CALL和jmp近远调用的区别
1. 对于jmp的区别就是:一个是段内调用,一个是段间调用2. 对于call则有很大的不同,因为call的调用会对栈产生影响: (1)call的近调用不会改变使用的栈,但是栈的内容发生了变化:下一条指令被压入栈;如果有参数,参数被压入栈 (2)call的远调用会改变使用的栈,由于使用的栈发生变化,因此对于参数有一个拷贝的过程。 保存当前的ss和esp到被调用过程的栈中
2009-05-10 17:59:00 3002
原创 存储段的结构
(1)x86的cpu在保护模式下是通过两级结构来对地址进行转换的,一是:虚拟地址到线性地址;二是:线性地址到物理地址。其中虚拟地址的管理是通过段这个结构来完成的。 (2)段包括:存储段(代码段和数据段)、系统段和门。 (3)每个段都用一个描述符来描述,在描述符中包括段的基地址、段的界限、段的属性等与段相关的信息。 (4)一系列的段描述符就组成了描述符表(DT),描述符表包
2009-05-10 17:55:00 562
原创 保护模式中4G、1M和64T的含义
(1)4G是指对于32位的cpu,它有32根地址线,因此可寻址的空间大小为2^32=4G,这也是保护模式下线性地址的最大值。同时它也是段的最大长度。 (2)1M是指当端描述符的粒度D为0是,则说明段的增长单位为1字节,而端的界限为20个字节,所以段的最大长度为1M。 (3)64T是指每个程序可以使用的地址空间,它是这样得到的:64T = 2*8192*4G
2009-05-10 17:54:00 1880 1
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人