2011年7月30日

动态连接库的两种方式

摘要: 动态连接库的两种方式? 答案:调用一个DLL中的函数有两种方法: 1.载入时动态链接(load-time dynamic linking),模块非常明确调用某个导出函数,使得他们就像本地函数一样。这需要链接时链接那些函数所在DLL的导入库,导入库向系统提供了载入DLL时所需的信息及DLL函数定位。 2.运行时动态链接(run-time dynamic linking),运行时可以通过LoadLibrary或LoadLibraryEx函数载入DLL。DLL载入后,模块可以通过调用 GetProcAddress获取DLL函数的出口地址,然后就可以通过返回的函数指针调用DLL函数了。如此即可避免导入 阅读全文

posted @ 2011-07-30 22:31 原来... 阅读(1040) 评论(0) 推荐(0)

中断处理过程

摘要: 一个完整的中断处理过程应该包括:中断请求、中断排队或中断判优、中断响应、中断处理和中断返回等环节,下面分别进行讨论。 1.中断请求 中断请求是由中断源向CPU发出中断请求信号。外部设备发出中断请求信号要具备以下两个条件: (1)外部设备的工作已经告一段落。例如输入设备只有在启动后,将要输入的数据送到接口电路的数据寄存器(即准备好要输入的数据)之后,才可以向CPU发出中断请求。 (2)系统允许该外设发出中断请求。如果系统不允许该外设发出中断请求,可以将这个外设的请求屏蔽。当这个外设中断请求被屏蔽,虽然这个外设准备工作已经完成,也不能发出中断请求。 2.中断排队 中断申请是随机的,有时会出现多个中 阅读全文

posted @ 2011-07-30 22:28 原来... 阅读(5822) 评论(0) 推荐(0)

电路交换 报文交换 分组交换

摘要: 简述电路交换和分组交换的区别及优缺点。答:1)电路交换:由于电路交换在通信之前要在通信双方之间建立一条被双方独占的物理通路(由通信双方之间的交换设备和链路逐段连接而成),因而有以下优缺点。 优点: ①由于通信线路为通信双方用户专用,数据直达,所以传输数据的时延非常小。 ②通信双方之间的物理通路一旦建立,双方可以随时通信,实时性强。 ③双方通信时按发送顺序传送数据,不存在失序问题。 ④电路交换既适用于传输模拟信号,也适用于传输数字信号。 ⑤电路交换的交换的交换设备(交换机等)及控制均较简单。 缺点: ①电路交换的平均连接建立时间对计算机通信来说嫌长。 ②电路交换连接建立后,物理通路被通信双方独占 阅读全文

posted @ 2011-07-30 22:24 原来... 阅读(1274) 评论(0) 推荐(0)

基于哈夫曼(haffuman)算法的文件压缩的实现(C语言)(转)

摘要: 本文首先简要阐述哈夫曼算法的基本思想,然后介绍了使用哈夫曼算法进行文件压缩和解压缩的处理步骤,最后给出了C语言实现的文件压缩和解压缩的源代码。 哈夫曼算法的主要思想是: ①首先遍历要处理的字符串,得到每个字符的出现的次数; ②将每个字符(以其出现次数为权值)分别构造为二叉树(注意此时的二叉树只有一个节点);③取所有二叉树种种字符出现次数最小的二叉树合并为一颗新的二叉树,新二叉树根节点的权值等于两个子节点的权值之和,新节点中的字符忽略;④重复过程③直到所有树被合并为同一棵二叉树⑤遍历最后得到的二叉树,自顶向下按路径编号,指向左节点的边编号0,指向右节点的边编号1, 从根到叶节点的所有边上的0和1 阅读全文

posted @ 2011-07-30 22:12 原来... 阅读(6912) 评论(0) 推荐(0)

计算机经典书籍

摘要: 计算机经典书籍 各种计算机语言的经典书籍1、Java Java编程语言(第三版)---Java四大名著----James Gosling(Java之父) Java编程思想(第2版)----Java四大名著----Bruce Eckel Java编程思想(第3版)----Java四大名著----------------Bruce Eckel JAVA 2核心技术 卷I:基础知识(原书第7版)---Java四大名著-----Cay Horstmann JAVA 2核心技术 卷II:高级特性(原书第7版)----Java四大名著-----Cay Horstmann Effective Java中文版 阅读全文

posted @ 2011-07-30 22:02 原来... 阅读(577) 评论(0) 推荐(1)

外排序(磁盘排序)之多路归并排序的简单实现 C++

摘要: 外排序(磁盘排序)之多路归并排序的简单实现(转)摘要:本文简要介绍了当数据量大到不适合在内存中排序时,利用磁盘进行排序的多路归并算法。关键字:外排序,磁盘排序,多路归并 下面以一个包含很多个整数的大文件为例,来说明多路归并的外排序算法基本思想。假设文件中整数个数为N(N是亿级的),整数之间用空格分开。首先分多次从该文件中读取M(十万级)个整数,每次将M个文件在内存中使用快排序之后存入临时文件,然后使用多路归并将临时文件中的数据牌号序存入输出文件。显然,该排序算法需要对每个整数做2次磁盘读和2次磁盘写。 下面代码是基于以上思想对包含大量整数文件的从小到大排序的一个简单实现,这里没有使用内存缓冲区 阅读全文

posted @ 2011-07-30 17:21 原来... 阅读(8395) 评论(0) 推荐(1)

外部排序(java实现)

摘要: mportjava.io.File;importjava.io.FileInputStream;importjava.io.FileNotFoundException;importjava.io.FileOutputStream;importjava.io.IOException;importjava.util.ArrayList;importjava.util.Arrays;importjava.util.Iterator;importjava.util.Random;/*** Purely informational so use at your own risk, it is not o 阅读全文

posted @ 2011-07-30 17:13 原来... 阅读(3392) 评论(0) 推荐(0)

函数参数的传递问题->指针和内存

摘要: 程序1:void myMalloc(char *s) //我想在函数中分配内存,再返回{s=(char *) malloc(100);}void main(){char *p=NULL;myMalloc(p); //这里的p实际还是NULL,p的值没有改变,为什么?if(p) free(p);}程序2:void myMalloc(char **s){*s=(char *) malloc(100);}void main(){char *p=NULL;myMalloc(&p); //这里的p可以得到正确的值了if(p) free(p);}程序3:#include<stdio.h> 阅读全文

posted @ 2011-07-30 15:38 原来... 阅读(1007) 评论(0) 推荐(0)

导航