快捷搜索:  
类模拟的性能分析

类模拟的性能分析

类模拟中使用了大量的函数指针,结构体等等,有必须对此进行性能分析,以便观察这样的结构对程序的整体性能有什么程度的影响。 1.函数调用的开销 #define COUNTER XX void testfunc() { int i,k=0; for(i=0;iYY;i++){k++;} } 在测试程序里面,我们使用的是一个测试函数,函数体内部可以通过改变YY的值来改变函数的耗时。测试对比是 循环调用XX次函数,和循环XX次函数内部的YY循环。 结果发现,在YY足够小,X足够大的情况下,函数调用耗时成为了主要原...

从TColor对象中解析出红,绿,蓝的亮度

从TColor对象中解析出红,绿,蓝的亮度

使用API函数GetRValue,GetBValue及GetGValue。这里有一个以析取红绿蓝来改变窗口背景色的例子。(注意:在使用下面的例子代码前,请将窗口的Color设为clBlue,clNavy或其它任何一种非系统颜色,诸如clBTnFace) void __fastcall TForm1::Button1Click(TObject *Sender) { BYTE nRed = GetRValue(Color); BYTE nBlue = GetBValue(Color); BYTE nGree...

创建和使用库:静态、共享和动态

创建和使用库:静态、共享和动态

C语言中有一些函数不需要进行编译,有一些函数也可以在多个文凭中使用。一般来说,这些函数都会执行一些标准任务,如数据库输入/输出操作或屏幕控制等。可以事先对这些函数进行编译,然后将它们放置在一些特殊的目标代码文件中,这些目标代码文件就称为库。库文件中的函数可以通过连接程序与应用程序进行连接。这样就不必在每次开发程序时都对这些通用的函数进行编译了。 不同类型的应用程序将会使用不同的函数库。例如:libdbm库中组包含了对数据库文件进行访问的dbm函数,需要对数据库进行操作的程序就会与该库进行连接。数学应用程...

初学者编程入门:C++指针使用方法

初学者编程入门:C++指针使用方法

在下列函数声明中,为什么要同时使用*和符号?以及什么场合使用这种声明方式? void func1( MYCLASS *pBuildingElement ); 经常会有人问到这样的问题。本文试图通过一些实际的指针使用经验来解释这个问题。仔细看一下这种声明方式,确实有点让人迷惑。在某种意义上,"*"和""是意思相对的两个东西,把它们放在一起有什么意义呢? 为了理解指针的这种做法,我们先复习一下C/C++编程中无所不在的指针概念。我们都知道MYCLASS*的意思:指向某个对象的指针,此对象的类型为MYCLAS...

初级WINDOWS  APIC++语言版编程

初级WINDOWS APIC++语言版编程

当我们使用着漂亮的界面,方便快捷的应用程序的时候。我们才会发现,以前曾编写的程序是多么的粗糙(TC编写的程序)。简单的界面,16色的显示系统,大大的落后于计算机的发展。简单的说就是杀鸡用牛刀。如何该改变这种情况呢?Microsoft公司在推出windows操作系统的时候给出了简单易行的解决方案。这就是WINDOWS平台API应用程序接口。当然API也是发展的,它从WIN 16 API发展到了现在普遍使用的WIN 32 API。只有充分理解API函数功能和用法,才能深入到WINDOWS系统的内部,才能充分...

TDecisionCube对象

TDecisionCube对象

TDecisionCube维护它提供给TDectisionSource对象的交叉制表的数据。 TCecisioncube对象加到一个窗体或数据模块,可以允许应用程序表示交叉制表的数据, TDecisionCube将来自源数据集的数据分解成每一维相当于被概括信息的数据集的一个字段的多维结构。任何数据集都可以用作TDecisioncube对象的源,但对TDecisionQuery工作将更容易。 通常,总计值为决策立主图表的源的数据集计算。然而作为代替,平均值可以被Decision Cube内部计算,内部计算...

The  File  System(文件系统)

The File System(文件系统)

本章描述Linux如何维护它支持的文件系统中的文件。描述了虚拟文件系统(Virtual File System VFS)并解释了Linux核心中真实的文件系统如何被支持 Linux的一个最重要的特点之一使它可以支持许多不同的文件系统。这让它非常灵活,可以和许多其他操作系统共存。在写作本章的时候,Linux可一直支持15种文件系统:ext、ext2、xia、minix、umsdos、msdos、vfat、proc、smb、ncp、iso9660、sysv、hpfs、affs和ufs,而且不容置疑,随着时间...

TDateTime相关介绍

TDateTime相关介绍

TDateTime为实现TDateTime数据类型和使用TDateTime数据类型的日期-时间运行库例程的C++类。 TDateTime类继承了double型的val数据成员,其中包含了日期-时间值。TDateTime值的整数部分为自从12/30/1899以来的天数。其小数部分为天的时间。 下列为一些TDateTime值的例子以及对应的日期和时间: 值 日期和时间 0 12/30/1899 12:00 am 2.75 1/ 1/1900 6:00 pm -1.25 12/29/1899 6:00 am...

TCP上的NetBIOS配置参数

TCP上的NetBIOS配置参数

所有 NetBT 参数均是位于 HKEY_LOCAL_MACHINE \SYSTEM\CurrentControlSet\Services 的两个不同子项之一的注册表值: NetBT\Parameters NetBT\Adapters\Interfaces\interface,其中 interface 指 NetBT 绑定的网络接口的子项.后面的项是每个接口特有的。如果系统是使用 DHCP 配置的,那么在命令提示符下使用 ipconfig /renew 命令,就会使参数的更改生效。否则,您必须重新启动系...

TCanvas类简单介绍

TCanvas类简单介绍

TCanvas为作图对象提供一个抽象的画布。 类关系 TObject-TPersistent 对那些作图对象,可使用TCanvas对象作为画布。标准的window控件,例如编辑控件和列表框控件,当它们被Windows画出来时,并不需要一块画布。在创建一幅图像时,TCanvas对象提供有用的属性、方法和事件,主要通过以下方法: 指定需要使用的刷子、画笔和字体类型。 对各类形状和线条进行作图和填充。 输入文体。 对图像进行着色。 对当前图像的变化能作出反应。 TCanvas有两个子类,即TControlCa...

C++设计目标和原则

C++设计目标和原则

一、 C++的设计目标(C++ Design Aims) C++的设计目标,就是要让C++既具有适合于系统程序设计的C语言所具有的可适应性和高效性,又能在其程序组织结构方面具有像Simula那样的语言设施(Simula所支持的这种程序组织结构通常被称为面向对象程序设计风格)。在设计的时候,还做了很大的努力,使得引借自Simula的高层次的程序设计技术能够应用于系统程序设计之中。这即是说,C++所提供的抽象机制能够被应用于那些对效率和可适应性具有极高要求的程序设计任务之中。 上述的C++之设计目标可以小结...

Win  95/NT下OpenGL编程原理

Win 95/NT下OpenGL编程原理

----科学计算可视化,计算机动画和虚拟现实是现在计算机图形学的三个热点。而这三个热点的核心都是三维真实感图形的绘制。由于OpenGL( OpenGraphicsLibrary)具有跨平台性、简便、高效、功能完善,目前已经成为了三维图形制作方法中事实上的工业标准。自从WindowsNT3.51在微 机平台上支持OpenGL以后,现在微软公司在Windows95OSR2、WindowsNT4.0中连续性的提供OpenGL开发环境。VisualC++从4.2版本以后已经完全支持 OpenGL API,使三维...