自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

iu_81的专栏

黄云万里动风色,白波九道流雪山

  • 博客(29)
  • 收藏
  • 关注

转载 VC++编译错误信息

1、fatal error C1010: unexpected end of file while looking for precompiled header directive。   寻找预编译头文件路径时遇到了不该遇到的文件尾。(一般是没有#include "stdafx.h")   2、fatal error C1083: Cannot open include file: R…….h

2007-07-22 15:34:00 914

转载 行编辑器

  #include          /* For _MAX_PATH definition */#include #include #include #include #define STACK_INIT_SIZE 100#define

2007-07-22 15:28:00 613

原创 偶数分解成两个素数之和

#include #include int main( ) { int n, i, j; printf("请输入一个正偶数:"); scanf("%d", &n); int su[ n ]; for ( i = 0; i su[ i ] = 0; su[ 0 ] = su[ 1 ] = 1; for ( i = 2; i if ( su[ i ] == 0 ) f

2007-07-21 16:41:00 2743

原创 类的拷贝构造函数的参数

T& operator=(T t); 那么我们调用 T t1; T t = t1;时,拷贝构造函数被调用, 这样就出现了,要把operator=(T t);压栈时会临时生成一个T对象t2,t2靠什么而来?当然,这个对象(t2)也是“拷贝构造”的,那么要靠新的构造了...那么要构造tn又要新的拷贝(同个道理),那么就是个恶性循环了,内存出错

2007-07-21 16:38:00 1164

转载 c++ 计算器代码

/*/////////////////////////////////////////////////////////////*  功能:实现一个计算器程序                                   *  作者:                 *  时间:                 *////////////////////////////////////////

2007-07-20 22:07:00 21526 9

转载 扫雷

 #include #include #include #include #include #include #include union REGS regs;int size=15;/*用于表示每个方块的大小(正方形的边长)*/int pix,piy=50;/*pix,piy是矩阵的偏移量*/char b[2]="1";/*用于显示方格周围的雷的个数*/int pan[30][16];/*用

2007-07-18 20:30:00 1265

转载 五子棋

#include#include#include#include#include#define LEFT 0x4b00 #define RIGHT 0x4d00 #define DOWN 0x5000 #define UP 0x4800 #define ESC 0x011b #define SPACE 0x3920 #define BILI 20 #define JZ 4 #define

2007-07-18 20:29:00 730

转载 银行帐目管理程序

#include#includestruct bankdata{    /*定义一个结构体*/int num;char name[20];float balance;}create(FILE *ptr)/*创建具有结构体的空文档*/{int num; struct bankdata data={-1,"NONAME",0}; for(num=0;num      fseek(ptr,num*siz

2007-07-17 19:39:00 832

转载 电子通讯录

电子通讯录功能如下:Function choose1.Read2.Append3.Delete4.Search5.Save and exit6.Quit说明:上图是电子通讯录的主菜单,利用它,将能够轻松地录入一个朋友的电话号码,通讯地址和出生日期,而且它还提供了检索和删除功能。在后面还将提供按生日先后排序的功能,这些都有助于该通讯录的管理。电子通讯录是采用线性表作为程序的基本结构的。    设计思

2007-07-16 23:38:00 3903

转载 企业职工管理系统

#include #include #include #include #define N 100struct employee//职工基本情况{ int num;//工号 int position;//职位1为董事长2为总经理3为副总经理等 char name[8];//姓名 char sex[2];//性别f为女m为男 int age;//年龄 int cult;//文化程度1为专家2

2007-07-16 23:33:00 760

转载 点灯游戏算法实现

点灯游戏是一个十分有趣的智力游戏,他的规则是这样的:有一行N行N列的灯,开始时全部是灭的,当你点击其中一盏灯是他的上下左右(若存在的话)状态全部改变,现在要求你在限定的时间内以最少地步数,将全部的灯点亮. 现在,我们以某一盏灯为研究对象,显然,当此灯状态被改变奇数次后,灯被点亮.反之,被点击偶数次,灯则维持原来的熄灭状态不变.而促使灯状态改变的事件不外乎其上下左右(若存在的话)被点击.推而广之

2007-07-16 23:31:00 4164

转载 学生成绩管理系统

#include #include  #include#include#include#include#include#include  #define NULL 0#define ESC 0x001b  /* 退出 */#define  F1  0x3b00  /* 查看帮助信息,调用HelpMassage()函数 */#define  F2  0x3c00  /*输入学生成绩*/#defi

2007-07-15 21:13:00 1700

转载 分而治之算法

君主和殖民者们所成功运用的分而治之策略也可以运用到高效率的计算机算法的设计过程中。本章将首先介绍怎样在算法设计领 域应用这一古老的策略,然后将利用这一策略解决如下问题:最小最大问题、矩阵乘法、残缺棋盘、排序、选择和计算一个几何问题——找出二维空间中距离最近的 两个点。 本章给出了用来分析分而治之算法复杂性的数学方法,并通过推导最小最大问题和排序问题的复杂性下限来证明分而治之算法对于

2007-07-13 18:54:00 1042

转载 贪婪算法---最小耗费生成树

在例1 - 2及1 - 3中已考察过这个问题。因为具有n 个顶点的无向网络G 的每个生成树刚好具有n-1条边,所以问题是用某种方法选择n-1条边使它们形成G的最小生成树。至少可以采用三种不同的贪婪策略来选择这n-1条边。这 三种求解最小生成树的贪婪算法策略是: K r u s k a l算法,P r i m算法和S o l l i n算法。 1. Kruskal算法 (1) 算法思想

2007-07-13 18:53:00 1412

转载 贪婪算法---单源最短路径

在这个问题中,给出有向图G,它的每条边都有一个非负的长度(耗费) a [i ][ j ],路径的长度即为此路径所经过的边的长度之和。对于给定的源顶点s,需找出从它到图中其他任意顶点(称为目的)的最短路径。图13-10a 给出了一个具有五个顶点的有向图,各边上的数即为长度。假设源顶点s 为1,从顶点1出发的最短路径按路径长度顺序列在图13-10b 中,每条路径前面的数字为路径的长度。 利用E.

2007-07-13 18:52:00 1450

转载 贪婪算法---二分覆盖

二分图是一个无向图,它的n 个顶点可二分为集合A和集合B,且同一集合中的任意两个顶点在图中无边相连(即任何一条边都是一个顶点在集合A中,另一个在集合B中)。当且仅当B中的每 个顶点至少与A中一个顶点相连时,A的一个子集A 覆盖集合B(或简单地说,A 是一个覆盖)。覆盖A 的大小即为A 中的顶点数目。当且仅当A 是覆盖B的子集中最小的时,A 为最小覆盖。 例1-10 考察如图1 -

2007-07-13 18:51:00 1611

转载 贪婪算法--- 拓扑排序

一个复杂的工程通常可以分解成一组小任务的集合,完成这些小任务意味着整个工程的完成。例如,汽车装配工程可分解为以下任务:将底盘放上装配线,装轴,将座位装在底盘上,上漆,装刹车,装门等等。任务之间具有先后关系,例如在装轴之前必须先将底板放上装配线。任务的先后顺序可用有向图表示——称为顶点活动( Activity On Vertex, AOV)网络。 有向图的顶点代表任务,有向边(i, j) 表示先后关

2007-07-13 18:50:00 711

转载 字符设备驱动程序的扩展操作

在关于字符设备驱动程序的那一章中,我们构建了一个完整的设备驱动程序,从中用户可以读也可以写。但实际一个驱动程序通常会提供比同步read和write更多的功能。现在如果出了什么毛病,我已经配备了调试工具,我们可以大胆的实验并实现新操作。通过补充设备读写操作的功能之一就是控制硬件,最常用的通过设备驱动程序完成控制动作的方法就是实现ioctl方法。另一种方法是检查写到设备中的数据流,使用特殊序列做为控制

2007-07-11 19:43:00 988

转载 调试技术

对于任何编写内核代码的人来说,最吸引他们注意的问题之一就是如何完成调试。由于内核是一个不与某个进程相关的功能集,其代码不能很轻松地放在调试器中执行,而且也不能跟踪。本章介绍你可以用来监视内核代码和跟踪错误的技术。用打印信息调试最一般的调试技术就是监视,就是在应用内部合适的点加上printf调用。当你调试内核代码的时候,你可以用printk完成这个任务。PrintkPrintk在前些章中,我们简单假

2007-07-11 19:39:00 1389

转载 字符设备驱动程序

本章的目标是编写一个完整的字符设备驱动程序。由于这类驱动程序适合于大多数简单的硬件设备,我们首先开放一个字符设备驱动程序。字符也相对比较好理解,比如说块设备驱动程序。我们的最终目标是写一个模块化的字符设备驱动程序,但本章我们不再讲述有关模块化的问题。本章通篇都是从一个真实的设备驱动程序截取出的代码块:这个设备就是scull,是“Simple Character Utility for Loadin

2007-07-11 19:37:00 2581

转载 编写和运行模块

非常高兴现在终于可以开始编程了。本章将介绍模块编程和内核编程所需的所有必要的概念。我们将要不多的篇幅来编写和运行一个完整的模块。这种专业技术(expertise)是编写如何模块化设备驱动程序的基础。为了避免一下子给你很多概念,本章仅介绍模块,不介绍任何类别的设备。这里介绍的所有内核内容(函数,变量,头文件和宏)也将在本章最后的参考部分再次介绍。如果你已经座不住了,下面的代码是一个完整的“Hello

2007-07-11 19:33:00 2295

转载 Linux内核简介

世界各地都有人在钻研Linux内核,大多是在写设备驱动程序。尽管每个驱动程序都不一样,而且你还要知道自己设备的特殊性,但是这些设备驱动程序的许多原则和基本技术技巧都是一样的。通过本书,可以学会写自己的设备驱动程序,并且可以钻研内核的相关部分。本书涉及到的是设备无关编程技巧,不会将例子跟特殊设备绑定在一起。本章没有实际编写代码。但我要介绍一些关于Linux内核的背景概念,这样到我们稍后开始介绍实际编

2007-07-11 19:31:00 911

转载 PL/0语言的词法分析程序

要求:1、读入用PL/0语言编写的源程序,正确的进行词法分析,并输出二元式序列。2、若源程序有词法错误,能够给出出错的准确位置。3、词法代号如下(+,+);(-,-);(*,*);(/,/);((,();(),));(,,,);(;,;);(.,.);(#,#);(=,=);(>,>);((:=,a);(>=,b);((数字,d);(标识符,e);关键字代号:(begin,f);(call,g);

2007-07-08 09:05:00 3062 1

转载 C++箴言:最小化文件之间的编译依赖

你进入到你的程序中,并对一个类的实现进行了细微的改变。提醒你一下,不是类的接口,只是实现,仅仅是 private 的东西。然后你重建(rebuild)这个程序,预计这个任务应该只花费几秒钟。毕竟只有一个类被改变。你在 Build 上点击或者键入 make(或者其它等价行为),接着你被惊呆了,继而被郁闷,就像你突然意识到整个世界都被重新编译和连接!当这样的事情发生的时候,你不讨厌它吗?   问题在于

2007-07-08 09:01:00 616

原创 assert failed appcore.cpp

大家都在遇到断言的时候都喜欢把MFC的源码贴出来,其实应该先从自己编写的代码开始入手,MFC中之所以出现断言,都应该是自己写的代码没有遵循MFC的一些规则,也可以说是编程的基本规则.     关于这个问题,我想MSDN中已经写得很明白了,在规则DLL,也就是RegularDLL中如果使用MFC的话,就必须在每一个到处函数的最开头加上[AFX_MANAGE_STATE(AfxGetStaticMod

2007-07-02 20:33:00 2149

转载 浅议C语言中灵魂数组和指针的互操作

曾听好多朋友说,C是一种怀旧的语言,因为它的历史很久远,然而自从各种面向对象的编程语言的相续出现让它的影响力日减。当然了,这是无可非议的,但是C的高效性是其他语言无妨比拟的,所以我们有必要把握其中的精华与奥妙,也就有必要知道其中的基本的数据结构的比如数组,稍微有点深度的堆栈、列表、结构体等的操作和实现。指针也是C语言中的一个很优秀灵活的结构,对它的了解也是必不可少的。 我们一般都认为数组是

2007-07-01 14:55:00 878 1

原创 在C语言中巧用正则表达式

如果用户熟悉Linux下的sed、awk、grep或vi,那么对正则表达式这一概念肯定不会陌生。由于它可以极大地简化处理字符串时的复杂度,因此现在已经在许多Linux实用工具中得到了应用。千万不要以为正则表达式只是Perl、Python、Bash等脚本语言的专利,作为C语言程序员,用户同样可以在自己的程序中运用正则表达式。 标准的C和C++都不支持正则表达式,但有一些函数库可以辅助C/C++程序员

2007-07-01 14:50:00 667 1

转载 浅谈C/C++内存泄漏及其检测工具

对于一个c/C++程序员来说,内存泄漏是一个常见的也是令人头疼的问题。已经有许多技术被研究出来以应对这个问题,比如Smart Pointer,Garbage Collection等。Smart Pointer技术比较成熟,STL中已经包含支持Smart Pointer的class,但是它的使用似乎并不广泛,而且它也不能解决所有的问题;Garbage Collection技术在Java中已经比较成熟

2007-07-01 14:48:00 603

转载 在C语言中以编程的方式获取函数名

仅仅为了获取函数名,就在函数体中嵌入硬编码的字符串,这种方法单调乏味还易导致错误,不如看一下怎样使用新的C99特性,在程序运行时获取函数名吧。   对象反射库、调试工具及代码分析器,经常会需要在运行时访问函数的名称,直到不久前,唯一能完成此项任务并且可移植的方法,是手工在函数体内嵌入一个带有该函数名的硬编码字符串,不必说,这种方法非常单调无奇,并且容易导致错误。本文将要演示怎样使用新的C99特性,

2007-07-01 14:45:00 1282

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除