自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

hgy2011的专栏

学习和分享

  • 博客(49)
  • 资源 (4)
  • 收藏
  • 关注

转载 VC6.0的18个实用小技巧

1.检测程序中的括号是否匹配把光标移动到需要检测的括号(如大括号{}、方括号[]、圆括号()和尖括号 2.查看一个宏(或变量、函数)的宏定义把光标移动到你想知道的一个宏上,就比如说最常见的DECLARE_MAP_MESSAGE上按一下F12(或右键菜单中的Go To Defition Of …),如果没有建立Browse files,

2012-05-30 01:19:53 761

转载 字节、字节序、内存对齐 与 跨机器、网络传输、字符操作

无符号单字节 byte ,数据上表示是0x10 ,2位。◆ 多字节基本类型,涉及到字节序little-endian和big-endian问题。(0x 01 02 0A 或 0x 0A 02 01)  主机字节序:由CPU确定多字节类型数据在内存中的存放顺序,我们用的IntelCPU是little-endian。通常这是机器内部事物,但如果涉及到网络通信就不是了。  JAVA

2012-05-30 01:18:10 966

转载 TCP/IP

一、TCP/IP 体系结构与特点  1、TCP/IP体系结构  TCP/IP协议实际上就是在物理网上的一组完整的网络协议。其中TCP是提供传输层服务,而IP则是提供网络层服务。TCP/IP包括以下协议:   IP: 网间协议(Internet Protocol) 负责主机间数据的路由和网络上数据的存储。同时为ICMP,TCP,UDP提供分组发送服务。用户进程通常不需

2012-05-30 01:15:26 388

转载 Windows Sockets:字节排序

Windows Sockets:字节排序本文以及另外两篇相关文章解释 Windows Sockets 编程方面的一些问题。本文介绍字节排序。其他问题在文章Windows Sockets:阻塞和 Windows Sockets:转换字符串中介绍。如果使用 CAsyncSocket 类或从其派生,则您需要自己管理这些问题。如果您使用 CSocket 类或从其派生,则由 MFC 管理

2012-05-30 01:10:40 378

转载 GCC的使用

1984年,Richard Stallman发起了自由软件运动,GNU (Gnu's Not Unix)项目应运而生,3年后,最初版的GCC横空出世,成为第一款可移植、可优化、支持ANSI C的开源C编译器。GCC最初的全名是GNU C Compiler,之后,随着GCC支持的语言越来越多,它的名称变成了GNU Compiler Collection。这里介绍的gcc是GCC的前端,C编译

2012-05-30 01:01:07 485

转载 AT&T 汇编语法

一、AT&T 格式Linux 汇编语法格式在 AT&T 汇编格式中,寄存器名要加上 '%' 作为前缀;而在 Intel 汇编格式中,寄存器名不需要加前缀。例如:AT&T 格式    Intel 格式pushl %eax    push eax在 AT&T 汇编格式中,用 '$' 前缀表示一个立即操作数;而在 Intel 汇编格式中,立即数的表示不用带任何前缀。例如:AT&T 格式

2012-05-30 00:59:00 1017

转载 交叉编译器建立过程

交叉编译器建立过程 准备工作下载一下源码包:可以到ftp://ftp.gnu.org 下载源码包binutils-2.17.tar.gz gcc-3.4.6.tar.gz glibc-2.3.6.tar.gz glibc-linuxthreads-2.3.6.tar.gz 或者到ftp://sourceware.org/pub/下载。将源码包放入/home/zht/cross-

2012-05-30 00:57:22 1354

转载 WinSocket API封装

MFC提供了两个类CAsyncSocket和CSocket来封装WinSock API,这给程序员提供了一个更简单的网络编程接口。CAsyncSocket在较低层次上封装了WinSock API,缺省情况下,使用该类创建的socket是非阻塞的socket,所有操作都会立即返回,如果没有得到结果,返回WSAEWOULDBLOCK,表示是一个阻塞操作。CSocket建立在CAsync

2012-05-30 00:54:44 656

转载 WinSocket API

WinSocket API —— TCP\IP连接要进行网络通信编程,就要用到socket(套接字)。套接字代表一个通信端口,有地址,有端口号,可连接(按类型),可收,可发。要进行socket编程,要为工程导入库文件,添加头文件,并在程序里加载套接字库。#include #pragma comment(lib, "ws2_32.lib") //2.0版本#include

2012-05-30 00:53:27 1888

原创 网路编程技术笔记

WinINet1.关于WinINetWinINet不是给服务端用的,服务端用Microsoft Windows HTTP Services (WinHTTP)WinINet抽象了Gopher,FTP,HTTP协议的一些细节。2.HINTERNET 句柄WinINet函数创建、使用的句柄都是HINTERNET类型的,这种类型的句柄无法被转换成其 它类型的句

2012-05-30 00:49:36 1515 2

转载 winsocket

般来说 碰到的第一个结构体是 WSADATA  [cpp] view plaincopy#define WSADESCRIPTION_LEN      256  #define WSASYS_STATUS_LEN       128  typedef struct WSAData {          WORD

2012-05-29 15:14:23 544

转载 【实用】visual C++中最常用的类与API函数

【实用】visual C++中最常用的类与API函数这篇文章能让初学者快速了解visual C++ MFC中常见的核心的类与函数,虽然全部看下来有点枯燥,但对初学者快速了解MFC的框架结构很有好处。常用类CArchive类:用于二进制保存档案 CBitmap类:封装Windows的图形设备接口(GDI)位图 CBrush类:封装图

2012-05-28 01:06:37 585

转载 一些开发心得与调试技巧

一些开发心得与调试技巧vc++6.0自己平时收集的一些技巧与心得,这里分享出来,普及一下知识。      1.如何在Release状态下进行调试  Project->Setting=>ProjectSetting对话框,选择Release状态。C/C++标签中的Category选General,Optimizations选Disable(Debug),Debut inf

2012-05-28 01:04:32 366

转载 C++中智能指针的设计和使用

C++中智能指针的设计和使用 智能指针(smart pointer)是存储指向动态分配(堆)对象指针的类,用于生存期控制,能够确保自动正确的销毁动态分配的对象,防止内存泄露。它的一种通用实现技术是使用引用计数(reference count)。智能指针类将一个计数器与类指向的对象相关联,引用计数跟踪该类有多少个对象共享同一指针。每次创建类的新对象时,初始化指针并将引用计数置为1;当对象作为另一

2012-05-28 00:59:01 560

转载 c#中用 System.Xml 读写XML 整理文档

c#中用 System.Xml 读写XML 整理文档example        http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">

2012-05-27 18:29:06 1166

原创 Aiml简介

AIML,全名为Artificial Intelligence Markup Language(人工智能标记语言),是一种创建自然语言软件代理的XML语言,是由Richard Wallace和世界各地的自由软件社区在1995年至2002年发明的。它的雏形是一个名为"A.L.I.C.E." ("Artificial Linguistic Internet Computer Entity")的高度

2012-05-27 15:32:19 2721

转载 三只水桶等分水问题

三只水桶等分水问题http://blog.csdn.net/orbit/article/details/6596521        有一个容积为8升的水桶里装满了水,另外还有一个容积为3升的空桶和一个容积为5升的空桶,如何利用这两个空桶等分8升水?附加条件是三个水桶都没有体积刻度,也不能使用其它辅助容器。        这是一道经典题目,一般人都可以在一分钟内给出答案,不过,很多

2012-05-26 12:04:08 1304 2

转载 字符串的相似度

字符串的相似度http://blog.csdn.net/orbit/article/details/6649322我们把两个字符串的相似度定义为:将一个字符串转换成另外一个字符串的代价(转换的方法可能不唯一),转换的代价越高则说明两个字符串的相似度越低。比如两个字符串:“SNOWY”和“SUNNY”,下面给出两种将“SNOWY”转换成“SUNNY”的方法: 变换1:

2012-05-26 12:02:15 481

转载 RLE行程长度压缩算法

RLE行程长度压缩算法http://blog.csdn.net/orbit/article/details/7062218 RLE(Run Length Encoding)行程长度压缩算法(也称游程长度压缩算法),是最早出现、也是最简单的无损数据压缩算法。RLE算法的基本思路是把数据按照线性序列分成两种情况:一种是连续的重复数据块,另一种是连续的不重复数据块。对于第一种情况,对连续的重复数

2012-05-26 11:59:48 722

转载 直线生成算法

直线生成算法http://blog.csdn.net/orbit/article/details/7185982在欧氏几何空间中,平面方程就是一个三元一次方程,直线就是两个非平行平面的交线,所以直线方程就是两个三元一次方程组联立。但是在平面解析几何中,直线的方程就简单的多了。平面几何中直线方程有多种形式,一般式直线方程可用于描述所有直线: Ax+By+C = 0  (A、B

2012-05-26 11:57:56 1860

转载 圆生成算法

在平面解析几何中,圆的方程可以描述为(x – x0)2 + (y – y0)2 = R2,其中(x0, y0)是圆心坐标,R是圆的半径,特别的,当(x0, y0)就是坐标中心点时,圆方程可以简化为x2 + y2 = R2。在计算机图形学中,圆和直线一样,也存在在点阵输出设备上显示或输出的问题,因此也需要一套光栅扫描转换算法。为了简化,我们先考虑圆心在原点的圆的生成,对于中心不是原点的圆,可以通

2012-05-26 11:56:24 2063

转载 椭圆的生成算法

椭圆的生成算法http://blog.csdn.net/orbit/article/details/7496008椭圆和直线、圆一样,是图形学领域中的一种常见图元,椭圆的生成算法(光栅转换算法)也是图形学软件中最常见的生成算法之一。在平面解析几何中,椭圆的方程可以描述为(x – x0)2 / a2+ (y – y0)2 / b2 = 1,其中(x0, y0)是圆心坐标,a和b是椭圆

2012-05-26 11:53:00 2007

转载 递归和循环的关系

一、递归和循环的关系 1、 递归的定义         顺序执行、循环和跳转是冯·诺依曼计算机体系中程序设计语言的三大基本控制结构,这三种控制结构构成了千姿百态的算法,程序,乃至整个软件世界。递归也算是一种程序控制结构,但是普遍被认为不是基本控制结构,因为递归结构在一般情况下都可以用精心设计的循环结构替换,因此可以说,递归就是一种特殊的循环结构。因为递归方法会直接或间接调用自身算法

2012-05-26 11:44:01 3553

转载 合并两个单链表为递减有序的单链表

合并两个单链表为递减有序的单链表LinkList *Connect(LinkList *ha,LinkList *hb){    LinkList *pa=ha->next,*pb=hb->next,*hc,*tc;    hc=pa;    hc->next=NULL;    tc=hc;    while(pa!=NULL&&pb!=NULL)    {

2012-05-26 11:39:13 1177

原创 CString类型

CString类型CString 是一种很有用的数据类型。它们很大程度上简化了MFC中的许多操作,使得MFC在做字符串操作的时候方便了很多。不管怎样,使用CString有很多特殊的技巧,特别是对于纯C背景下走出来的程序员来说有点难以学习。前言1、CString 对象的连接2、格式化字符串3、转化为int 型4、同char* 类型转化5、转化BSTR 型6

2012-05-22 18:45:05 762

转载 Win32数据类型

学习过C语言的童鞋,应当对C语言数据类型非常熟悉,但C语言的数据类型有如下几个缺陷:数据类型平台相关,在不同平台上,同一个数据类型可能占用不同的空间大小。典型的,在16位系统上,int类型和short int类型长度相同,但在32位平台上,则和long int类型长度相同;数据类型过于单一,例如在表现数值和布尔这两种情况时,虽然它们都是32位长度,但分开表达显然更加方便和直观;平台差异,例

2012-05-20 16:02:45 540

转载 快速排序(二)

快速排序一、介绍  快速排序和合并排序有点类似,两者可以相互比较。快速排序也是像合并排序那样将整个序列分成两段分别进行排序。但是快速排序没有合并排序的合并过程。     该算法是1960 年C.A.R.Hoard提出的一个非常好的排序算法。快速排序算法需要选择一个划分元素,把小于划分元素的元素放在它的左边,大于它的元素放在右边,这样就分成了左右两端,在对左右两段进行排序。

2012-05-20 00:28:43 476

转载 全面整理的C++面试题

全面整理的C++面试题1.是不是一个父类写了一个virtual 函数,如果子类覆盖它的函数不加virtual ,也能实现多态?virtual修饰符会被隐形继承的。private 也被集成,只事派生类没有访问权限而已virtual可加可不加子类的空间里有父类的所有变量(static除外)同一个函数只存在一个实体(inline除外)

2012-05-19 17:49:23 559

原创 使用JsonCPP解析JSON数据(VC++)

首先你必须在http://sourceforge.net/projects/jsoncpp/files/jsoncpp/下载jsoncpp的源代码(.cpp/.h/.inl)包含到过程中如下图:测试源代码:[testjson.cpp]#include "stdafx.h"#include#include #include "json.h" //包含头文件us

2012-05-19 14:25:22 10127

转载 冒泡排序

冒泡排序是非常容易理解和实现,,以从小到大排序举例:设数组长度为N。1.比较相邻的前后二个数据,如果前面数据大于后面的数据,就将二个数据交换。2.这样对数组的第0个数据到N-1个数据进行一次遍历后,最大的一个数据就“沉”到数组第N-1个位置。3.N=N-1,如果N不为0就重复前面二步,否则排序完成。 按照定义很容易写出代码:[cpp]

2012-05-18 21:51:58 648 2

转载 直接插入排序

直接插入排序(Insertion Sort)的基本思想是:每次将一个待排序的记录,按其关键字大小插入到前面已经排好序的子序列中的适当位置,直到全部记录插入完成为止。 设数组为a[0…n-1]。1.      初始时,a[0]自成1个有序区,无序区为a[1..n-1]。令i=12.      将a[i]并入当前的有序区a[0…i-1]中形成a[0…i]的有序区间。

2012-05-18 21:50:15 361

转载 希尔排序

希尔排序的实质就是分组插入排序,该方法又称缩小增量排序,因DL.Shell于1959年提出而得名。该方法的基本思想是:先将整个待排元素序列分割成若干个子序列(由相隔某个“增量”的元素组成的)分别进行直接插入排序,然后依次缩减增量再进行排序,待整个序列中的元素基本有序(增量足够小)时,再对全体元素进行一次直接插入排序。因为直接插入排序在元素基本有序的情况下(接近最好情况),效率是

2012-05-18 21:48:24 379

转载 VC 如何使程序运行后自己删除自己

有时候,我们需要创建一个运行后能够自己删除自己的可执行程序即自删除程序。很明显如果一个进程通过直接调用DeleteFile()来删除自己是不可能的。必须另想办法,经过本人在网上参考很多资料后实际测试并集众家之所长,发现有二种方法效果比较好。现在将其封装成函数,这样使用将更加容易:方法1,调用BAT文件。[cpp] view plaincopy

2012-05-18 21:47:15 391

转载 VC 编译参数介绍

VC 编译参数介绍VC编译器的编译链接参数非常之多,对程序生成在细节上的控制也是非常强大的。要深入了解编译器参数是比较困难的,但作个初步认识还是不太难。编译参数可以在Project Setting中查看(Project菜单再选择Setting),如下图:这些参数究竟代表什么意思了?可以通过在CMD窗口下输入cl /help(注1)查看各个参数的含义。C/

2012-05-18 21:45:40 802

转载 快速排序

快速排序快速排序由于排序效率在同为O(N*logN)的几种排序方法中效率较高,因此经常被采用,再加上快速排序思想----分治法也确实实用,因此很多软件公司的笔试面试,包括像腾讯,微软等知名IT公司都喜欢考这个,还有大大小的程序方面的考试如软考,考研中也常常出现快速排序的身影。总的说来,要直接默写出快速排序还是有一定难度的,因为本人就自己的理解对快速排序作了下白话解释,希望对大家理解有帮

2012-05-18 21:43:50 372

转载 堆与堆排序

堆排序与快速排序,归并排序一样都是时间复杂度为O(N*logN)的几种常见排序方法。学习堆排序前,先讲解下什么是数据结构中的二叉堆。二叉堆的定义二叉堆是完全二叉树或者是近似完全二叉树。二叉堆满足二个特性:1.父结点的键值总是大于或等于(小于或等于)任何一个子节点的键值。2.每个结点的左子树和右子树都是一个二叉堆(都是最大堆或最小堆)。当父结点的键值总

2012-05-18 21:41:47 324

转载 C++ 类的静态成员详细讲解

C++ 类的静态成员详细讲解在C++中,静态成员是属于整个类的而不是某个对象,静态成员变量只存储一份供所有对象共用。所以在所有对象中都可以共享它。使用静态成员变量实现多个对象之间的数据共享不会破坏隐藏的原则,保证了安全性还可以节省内存。静态成员的定义或声明要加个关键static。静态成员可以通过双冒号来使用即::。 在C++中类的静态成员变量和静态成员函数是个容

2012-05-18 21:39:04 603

转载 Windows 各种计时函数总结

Windows 各种计时函数总结本文对Windows平台下常用的计时函数进行总结,包括精度为秒、毫秒、微秒三种精度的5种方法。分为在标准C/C++下的二种time()及clock(),标准C/C++所以使用的time()及clock()不仅可以用在Windows系统,也可以用于Linux系统。在Windows系统下三种,使用Windows提供的API接口timeGetTime()、GetT

2012-05-18 21:37:35 357

转载 改进的筛素数法

改进的筛素数法最简单的筛素数法方法就是从2开始,将所以2的倍数去掉,然后从3开始,将3的倍数去掉。根据这样很容易写出代码,下面代码就是是筛素数法得到100以内的素数并保存到primes[]数组中。[cpp] view plaincopy//by MoreWindows( http://blog.csdn.net/MoreWindows )

2012-05-18 21:32:31 345

转载 C/C++变量在内存中的分布

C/C++变量在内存中的分布在笔试时经常考到,虽然简单,但也容易忘记,因此在这作个总结,以加深印象。先写一个测试程序:[cpp] view plaincopy#include   #include   int g_i = 100;  int g_j = 200;  int g_k, g_h;  int main()

2012-05-18 21:23:26 344

Python学习笔记-

Python学习笔记-

2017-09-01

Google_三大论文中文版

Google_三大论文中文版

2017-09-01

基于speech SDK5.1开发的语音软件

基于speech SDK5.1开发的语音软件

2012-04-10

空空如也

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

TA关注的人

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