- 博客(16)
- 资源 (8)
- 收藏
- 关注
原创 VS 安装 VS web 创作组件引起的失败
原因:因为Office 2007的安装源缓存MSOCache文件夹被用户删除导致的。只要找到Office 2007的安装文件,即可顺利安装Visual Studio Web 创作组件。 解决办法:1.首先对office2007进行修复安装,如果无法修复安装,提示结果出现找不到office.zh-cn文件夹中文件的对话框可以先对office2007进行卸载重装,在对office进行
2011-06-24 15:25:00
733
原创 MFC— 无法添加按钮函数“cannot add new member” 和_CrtIsValidHeapPointer
MFC—— 无法添加按钮函数“cannot add new member” 今天给MFC对话框中添加了一个按钮,想给他添加函数,可是双击他的时候显示“cannot add new member”,由于对VC不是很熟,所有不知道为什么,就在网上查了下,原来是自己在删除一个类的时候把工程里的*.clw文件删了,后来忘了添加,添加后即可,添加方法为:1、 先关闭工程2、 再打开
2011-06-08 16:24:00
7909
1
转载 关于openssl BIGNUM
<br />openssl库中的BIGNUM,处理大数比较好,可以用在很多方面。<br />BIGNUM是一个typedef的结构,可以直接使用。但一般来说,使用它的指针结构。如:BIGNUM *p;BIGNUM的创建与释放函数原型解释示例BIGNUM * BN_new (void);创建一个BIGNUM的结构,返回新BIGNUM结构的指针BIGNUM *a = BN_new ();void BN_free (BIGNUM *);释放一个BIGNUMfree (a);BIGNUM的值测试函数原型解释示例in
2011-05-25 15:43:00
12651
转载 SHA1 简介
<br />SHA1算法原理<br />1 SHA1算法简介 <br />安全哈希算法(Secure Hash Algorithm)主要适用于数字签名标准(Digital Signature Standard DSS)里面定义的数字签名算法(Digital Signature Algorithm DSA)。对于长度小于2^64位的消息,SHA1会产生一个160位的消息摘要。当接收到消息的时候,这个消息摘要可以用来验证数据的完整性。在传输的过程中,数据很可能会发生变化,那么这时候就会产生不同的消息摘要。 <b
2011-05-17 15:56:00
1398
原创 vc6.0无法使用“添加到工程”或者"打开文件"解决方法
<br />当你的系统同时安装了vc6.0和office 2007时,很有可能你的vc6.0“添加到工程”无法使用,这里介绍一下问题的解决方法:<br /> 第一步:下载“FileTool”,该文件是个压缩包,压缩包里是一个vc6.0写的工程文件,是微软提供的,看来微软是知道会出现问题的。<br /> 第二步:解压缩后用vc6.0编译该工程,生成一个dll文件。<br /> 第三步:将dll文件拷贝到vc安装目录下(安装目录下有个vc98文件夹,放到该文件夹里就行)。然后运行任意一个vc6.0工程项目,通过
2011-05-16 17:09:00
3385
4
转载 ECC代码中调用的大数库(tommath)函数总结
<br />1. mp_int a<br />typedef struct<br />{<br />int used,alloc,sign;<br />mp_digit *dp;<br />}mp_int<br />mp_digit是无符号整数;dp是存放大整数的地址;used为实际使用的mp_digit单元;sign=0,表示非负数;=1表示负数。<br />2. mp_init<br />函数原型为:int mp_init(mp_int *a)<br />初始化mp_int结构,函数返回MP_O
2011-05-10 16:09:00
5561
转载 SOCKET类的设计和实现
<br /> WinSock基本知识<br /> <br />这里不打算系统地介绍socket或者WinSock的知识。首先介绍WinSock API函数,讲解阻塞/非阻塞的概念;然后介绍socket的使用。<br /> WinSock API<br /> <br />Socket接口是网络编程(通常是TCP/IP协议,也可以是其他协议)的API。最早的Socket接口是Berkeley接口,在Unxi操作系统中实现。WinSock也是一个基于Socket模型的API,在Microsoft Windows操
2011-05-03 10:29:00
464
转载 TCP 三次握手 四次挥手
所谓的“三握手”:对每次发送的数据量是怎样跟踪进行协商使数据段的发送和接收同步,根据所接收到的数据 量而确定的数据确认数及数据发送、接收完毕后何时撤消联系,并建立虚连接。TCP 总是用来发送大批量的数据。当应用程序在收到数据后要做出确认时也要用到TCP。 SYN:请求同步/同步序列号 ACK:应答同步/确认字段三次握手协议连接示意 在TCP/IP协议中,TCP协议提供可靠的连接服务,采用三次握手建立一个连接。 第一次握手:建立连接时,客户端发送syn包(syn=j)到服务器,并进入
2011-04-27 15:31:00
785
原创 内联函数
<br />很多时候,我们将一个小的表达式写成一个函数。主要是为了:<br />1;阅读和理解更加容易<br />2:如果要做修改,修改函数要比修改每一处表达式容易的多<br />3:函数可以重用。<br /> 但是调用函数比求解等价表达式要慢得多。在大多数机器上,调用函数都要做很多工作,调用前要先保存寄存器,并在返回时恢复。复试实参,程序还调转到一个新的位置执行。<br /> 则内联函数引入:<br /> 内联函数从源代码层看,有函数的结构,而在编译后,却不具备函数的性质。编译时,类似宏替换,使用函
2011-04-26 21:54:00
415
原创 函数指针 指针函数
<br />函数指针<br />函数指针是指向函数的指针变量。 因而“函数指针”本身首先应是指针变量,只不过该指针变量指向函数。这正如用指针变量可指向整型变量、字符型、数组一样,这里是指向函数。如前所述,C在编译时,每一个函数都有一个入口地址,该入口地址就是函数指针所指向的地址。有了指向函数的指针变量后,可用该指针变量调用函数,就如同用指针变量可引用其他类型变量一样,在这些概念上是一致的。函数指针有两个用途:调用函数和做函数的参数。<br />就想数组名一样指向第一元素的常指针一样,函数名也是指向函数的常指
2011-04-26 21:29:00
496
原创 友元
<br /> 类是具有封装和信息隐藏的特性。只有类的成员函数才能访问类的私有成员。程序中其他函数是无法访问私有成员的。非成员函数可以访问类中的公有成员。但是数据成员都定义为公有的,又破坏了隐藏的特性。<br /> 在某些情况下,特别是对某些成员函数多次调用时,由于参数传递,类型检查和安全性检查都需要时间开销。影响程序的运行效率。<br />提出了友元的概念:<br />友元是一种定义在类外部的普通函数,需要在类体内进行声明。<br />friend 函数返回类型 函数名();<br />友元
2011-04-26 17:01:00
864
1
原创 指针所占内存剖析
<br />指针的长度并非跟计算机字长有关,准确地说,是跟段大小和编译模式有关。你所看到的16位cpu指针两个字节、32位cpu指针四个字节其实是一种错觉。<br /><br />指针所指向的实体,无非在_code、_data、_bss、const和stack段,指针的值是这些段的段内偏移,段内偏移结合段寄存器的段值(实模式)或者段描述符(保护模式)构成实际的物理地址。VC等编译器工作在保护模式,在保护模式中,一个段最大可以是4G,其偏移量由32位表示,因此VC的指针是四个字节;而tc2.0等编译器工作在实
2011-04-26 16:02:00
2416
1
原创 c++ 多态 虚函数 重载
<br />多态可以简单概括为“一个接口,多个方法”。在程序运行过程中才决定调用函数。多态性允许你将父对象设置成为和它一个或者更多个子对象相等的技术。赋值之后,父对象可以根据当前赋值给它的子对象的特性以不同方式运作。简单的说,就是将子类类型的指针赋值给父类类型的指针。<br /> 多态性在ObjectPACAL 和C++都是通过虚函数实现的。<br /> 虚函数:就是允许子类重新定义的成员函数。子类重新定义父类虚函数的做法成为“覆盖”或者成为“重写”。<br />其中容易混淆的是:<br />覆盖:指的
2011-04-25 22:20:00
562
原创 C++ 内嵌类
#includeusing namespace std;class A{ A(int x) {};};class B{ A a;};int main(){ B b; return 0;}以上代码会报错,因为类A没有默认构造函数,在主函数里定义类对象时,b无法初始化,(主要是对成员变量A无法初始化)这属于内嵌类。内嵌类有两种类型:内联(inner)类和静态内嵌(static nested)类。 主要的区别: 一、内联类可以访问定义在外围类(enclosing class)中的实例变量。静态内嵌类不可以
2011-04-25 21:45:00
1540
转载 C++中引用和指针的区别
<br />引用与指针的区别<br /><br />(1)引用在创建的同时必须初始化,即引用到一个有效的对象;而指针在定义的时候不必初始化,可以在定义后面的任何地方重新赋值. <br />(2)不存在NULL引用,引用必须与合法的存储单元关联;而指针则可以是NULL.<br />(3)引用一旦被初始化为指向一个对象,它就不能被改变成另一个对象的引用;而指针在任何时候都可以改变为指向另一个对象.给引用赋值并不是改变它和原始对象的绑定关系.<br />(4)引用的创建和销毁并不会调用类的拷贝构造函数<br />
2011-04-25 17:20:00
417
转载 深入探讨C++中的引用
<br />引用是C++引入的新语言特性,是C++常用的一个重要内容之一,正确、灵活地使用引用,可以使程序简洁、高效。我在工作中发现,许多人使用它仅仅是想当然,在某些微妙的场合,很容易出错,究其原由,大多因为没有搞清本源。故在本篇中我将对引用进行详细讨论,希望对大家更好地理解和使用引用起到抛砖引玉的作用。 <br /> 一、引用简介<br /> 引用就是某一变量(目标)的一个别名,对引用的操作与对变量直接操作完全一样。<br /> 引用的声明方法:类型标识符 &引用名=目标变量名;<br /> 【例
2011-04-24 21:52:00
450
vc++实现的SHA-1算法
2011-05-17
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人