自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(24)
  • 收藏
  • 关注

转载 WinMain(windows程序的运行原理以及VC++的实现过程)

WinMain(windows程序的运行原理以及VC++的实现过程)操作系统以消息机制把输入设备的变化传递给我们的应用程序,操作系统所扮演的角色是神经末梢 APP 系统调用API OS 输出 输入HARDWARE 操作系统之所以成为操作系统是因为它能够控制硬件的设备,能够控制声卡发出声

2009-12-04 17:34:00 1479

转载 C/C++经典排序算法

排序算法是一种基本并且常用的算法。由于实际工作中处理的数量巨大,所以排序算法对算法本身的速度要求很高。    而一般我们所谓的算法的性能主要是指算法的复杂度,一般用O方法来表示。在后面我将给出详细的说明。     对于排序的算法我想先做一点简单的介绍,也是给这篇文章理一个提纲。    我将按照算法的复杂度,从简单到难来分析算法。    第一部分是简单排序算法,后面你将看到他们的共同点是算法复杂度为

2009-10-23 19:34:00 4635 5

转载 CString,BSTR,LPCTSTR之间联系和区别

CString ,BSTR ,LPCTSTR之间关系和区别CString是一个动态TCHAR数组,BSTR是一种专有格式的字符串(需要用系统提供的函数来操纵,LPCTSTR只是一个常量的TCHAR指针。CString 是一个完全独立的类,动态的TCHAR数组,封装了 + 等操作符和字符串操作方法。typedef OLECHAR FAR* BSTR;typedef const char

2009-09-25 14:45:00 785

转载 C++虚函数表解析

 C++中的虚函数的作用主要是实现了多态的机制。关于多态,简而言之就是用父类型别的指针指向其子类的实例,然后通过父类的指针调用实际子类的成员函数。这种技术可以让父类的指针有“多种形态”,这是一种泛型技术。所谓泛型技术,说白了就是试图使用不变的代码来实现可变的算法。比如:模板技术,RTTI技术,虚函数技术,要么是试图做到在编译时决议,要么试图做到运行时决议。 关于虚函数的使用方法,我在这

2009-09-02 16:53:00 782 4

转载 结构体字节对齐问题

#include struct a { char no[10]; int p; long int pp; unsigned int ppp; char x; float y; double h; }xy; void main() { printf("struct a: %d /n",sizeof(struct a)); // 不是等于 35 吗??? 为什么等于 40 啦? } 结构体

2009-08-09 22:42:00 2952

转载 itoa函数及atoi函数

C语言提供了几个标准库函数,可以将任意类型(整型、长整型、浮点型等)的数字转换为字符串。以下是用itoa()函数将整数转 换为字符串的一个例子:# include # include void main (void){int num = 100;char str[25];itoa(num, str, 10);printf("The number num is %d and

2009-08-03 11:19:00 558

原创 基于TCP的socket编程

sockets(套接字)编程有三种,流式套接字(SOCK_STREAM)TCP,数据报套接字UDP(SOCK_DGRAM),原始套接字(SOCK_RAW);基于TCP的socket编程是采用的流式套接字。在这个程序中,将两个工程添加到一个工作区。要链接一个ws2_32.lib的库文件。服务器端编程的步骤:1:加载套接字库,创建套接字(WSAStartup()/socket());2:绑定套接字到一

2009-08-03 09:56:00 623

转载 C++ 类访问控制public/private/protected探讨

原帖如下 1 #include  2 using namespace std; 3  4 class A{ 5 public: 6     A(int i_,int j_) 7     { 8         i=i_; 9         j=j_;10     }11     void disp(A &a)12     {13         cout14     }15 16 priva

2009-07-31 11:04:00 2785 1

原创 C语言字符串 数字转换函数大全

atof(将字符串转换成浮点型数)atoi(将字符串转换成整型数)atol(将字符串转换成长整型数)strtod(将字符串转换成浮点数)strtol(将字符串转换成长整型数)strtoul(将字符串转换成无符号长整型数)toascii(将整型数转换成合法的ASCII 码字符)toupper(将小写字母转换成大写字母)tolower(将大写字母转换成小写字母)     atof(将字符串转换成浮

2009-07-27 17:32:00 1776

原创 C打开文件的追加参数

fopen(打开文件) 相关函数 open,fclose 表头文件 #include 定义函数 FILE * fopen(const char * path,const char * mode); 函数说明 参数path字符串包含欲打开的文件路径及文件名,参数mode字符串则代表着流形态。 mode有下列几种形态字符串: r 打开只读文件,该文件必须存在。 r+ 打开可读写的文件,该文件必须存在。

2009-07-27 17:18:00 1067

原创 static与全局与局部变量的区别

全局变量(外部变量)的说明之前再冠以static 就构成了静态的全局变量。全局变量本身就是静态存储方式, 静态全局变量当然也是静态存储方式。 这两者在存储方式上并无不同。这两者的区别虽在于非静态全局变量的作用域是整个源程序, 当一个源程序由多个源文件组成时,非静态的全局变量在各个源文件中都是有效的。 而静态全局变量则限制了其作用域, 即只在定义该变量的源文件内有效, 在同一源程序的其它源文件中不能

2009-07-23 13:43:00 729

原创 VC之字符串转换_BSTR/LPSTR/LPWSTR/Char

字符串转换_BSTR/LPSTR/LPWSTR/Char 一、BSTR、LPSTR和LPWSTR在Visual C++.NET的所有编程方式中,我们常常要用到这样的一些基本字符串类型,如BSTR、LPSTR和LPWSTR等。之所以出现类似上述的这些数据类型,是因为不同编程语言之间的数据交换以及对ANSI、Unicode和多字节字符集(MBCS)的支持。  那么什么是BSTR、LPSTR以及LPWS

2009-07-22 14:13:00 1879

转载 IT管理人才必备的十大能力

作为IT技术人员,相信没有一个人愿意永远在底层编写程序或做简单的系统维护。经过一段时间的技术和经验的积累,很多人都向往更高层的职位,但如何能成为一个专业的IT管理人才,并不是每一个人都清晰、明了。   "30岁程序员的人生"技术某种程度上是青春活,技术革新的速度永远以超乎人所理解的演变,对于上了年纪又有了社会责任的技术人员来说,转型是不二选择。   如果你真想成为一名成功、成熟的IT专家,你需要不

2009-07-22 11:09:00 327

转载 进程通信(用户自定义消息,用户注册消息,windows剪贴板,WM_COPY, 内存映射,对目标进程的内存)

发送端:新建一个基本对话框工程,添加6个文本框控件,并且关联控件变量(CString类型): m_strCopyData, m_strFileMap, m_strMem, m_strRegMsg, m_strUserMsg, m_strClipBoard然后在 CPP 文件里面,做如下定义:#define BUFFER_SIZE  0x100          // 用内存地址通信时分配的

2009-07-21 16:41:00 1478

原创 char *遇到的问题

 char *会被优先解释为string,所以不可能通过以下这种方式得到元素地址。也可以理解成cout的定义中有一个是以char*为参数的。char a[3][4] = {{a,a,a,a},{a,a,a,a},{a,a,a,a}}; int count = 0; for(int i=0; i!=3; i++) { for(int j=0; j!

2009-07-21 16:35:00 502

转载 CreateFileMapping和MapViewOfFile函数

在开发软件过程里,也经常碰到进程间共享数据的需求。比如A进程创建计算数据,B进程进行显示数据的图形。这样的开发方式可以把一个大程序分开成独立的小程序,提高软件的成功率,也可以更加适合团队一起开发,加快软件的开发速度。下面就来使用文件映射的方式进行共享数据。先要使用函数CreateFileMapping来创建一个想共享的文件数据句柄,然后使用MapViewOfFile来获取共享的内存地址,然后使用O

2009-07-21 15:21:00 661

转载 VC++进程间通信的十一种方法

 VC++中进程间相互通信的十一种方法 进程通常被定义为一个正在运行的程序的实例,它由两个部分组成:   一个是操作系统用来管理进程的内核对象。内核对象也是系统用来存放关于进程的统计信息的地方   另一个是地址空间,它包含所有的可执行模块或DLL模块的代码和数据。它还包含动态分配的空间。如线程堆栈和堆分配空间。每个进程被赋予它自己的虚拟地址空间,当进程中的一个线程正在运行时,该线程可以

2009-07-21 13:47:00 531

原创 智能指针CComPtr 和 CComQIPtr

ATL 提供了2个智能指针的模板包装类,CComPtr和 CComQIPtr,这两个类都在 中声明。CComQIPtr包含了 CComPtr的所有功能,因此我们可以完全用 CComQIPtr来使用智能接口指针,唯一要说明的一点就是:CComQIPtr由于使用了运算符的重载功能,它会自动帮我们调用QueryInterface()函数,因此 CComQIPtr唯一的缺点就是不能定义 IUnknown

2009-07-20 10:03:00 724

转载 IUnknown接口

COM组件其实是一种特殊的类,遵循一个统一的标准,使到各个软件都可以通过某种方法访问这个类的函数和方法,也就可以做到组件通用. com就是统一的标准--通过接口来调用com组件.接口是你的com组件能被外界所感知的部分,实际就是一组方法(虚函数).            IUnknown是所有接口的基础,他负责两项工作:            IUnknown::QueryInterface负责得

2009-07-20 09:58:00 2503 2

转载 内存区划分,分配

一. 在c中分为这几个存储区1.栈 - 由编译器自动分配释放2.堆 - 一般由程序员分配释放,若程序员不释放,程序结束时可能由OS回收3.全局区(静态区),全局变量和静态变量的存储是放在一块的,初始化的全局变量和静态变量在一块区域,未初始化的全局变量和未初始化的静态变量在相邻的另一块区域。- 程序结束释放4.另外还有一个专门放常量的地方。- 程序结束释放                      

2009-07-19 22:43:00 828

原创 懒人开博

    我是个懒人,不喜欢洗衣服,不喜欢吃好饭了洗碗,不喜欢写文章...    开博,主要是由于最近在公司里实习学到了很多东西,想找个地方把记录下来,也方便以后总结和提高嘛~有时候生活上遇到的事情也会记录在这里,以后没事来看看肯定很有意思。好,就这样几行字先庆祝下偶开博喽,哈哈哈

2009-07-13 14:38:00 453

原创 【转】用c++实现的8皇后问题

 最近弄弄一些经典的算法,八皇后是其一。在8*8的棋盘上摆8个皇后,使任2皇后不在同一行、列、对角线上,有几种摆法?可以扩展到N皇后。#include iostream>#include string>using namespace std;#define NUM 8char cache[NUM][NUM] = {0};void queen(int row, int max){ // 依次放置

2009-07-13 12:24:00 485

原创 [转]经典C/C++算法

 二分查找的代码.int bfind(int* a,int len,int val){    int m = len/2;    int l = 0;    int r = len;    while(l!=m && r!= m)    {        if(a[m] > val)        {            r = m;            m = (m+l)/2;     

2009-07-13 12:21:00 437

原创 char *与string之间的相互转换

 从char*转换成string :char cTest[] = "test"; string str = cTest;从string转换成char* :char *cTest = strdup(str.c_str()); 需要注意的就是用完strdup后要记得释放,free(cTest);因为strdup是从堆中分配的内存,危险哦... 

2009-07-09 14:57:00 575

空空如也

空空如也

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

TA关注的人

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