2011年10月18日

欢迎访问我的新BLOG

正文内容加载中...

posted @ 2011-10-18 16:38 MoreWindows 阅读(454) 评论(0) 推荐(0) 编辑

2011年10月8日

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

摘要:C/C++变量在内存中的分布在笔试时经常考到,虽然简单,但也容易忘记,因此在这作个总结,以加深印象。先写一个测试程序:#include <stdio.h>#include <malloc.h>int g_i = 100;int g_j = 200;int g_k, g_h;int main(){ const int MAXN = 100; int *p = (int*)malloc(MAXN * sizeof(int)); static int s_i = 5; static int s_j = 10; static int s_k; static int s_h; i 阅读全文

posted @ 2011-10-08 10:39 MoreWindows 阅读(1839) 评论(1) 推荐(1) 编辑

2011年9月25日

VS2010项目转化为VS2008项目

摘要:第一步:打开VS2010项目的SLN文件有如下代码: Microsoft Visual Studio Solution File, Format Version 11.00# Visual Studio 2010将之改为:Microsoft Visual Studio Solution File, Format Version 10.00# Visual Studio 2008第二步:打开VS2010项目的 .csproj和.csproj.user文件的开头会有如下代码:ToolsVersion="4.0" 将之改为:ToolsVersion="3.5" 阅读全文

posted @ 2011-09-25 15:28 MoreWindows 阅读(4364) 评论(0) 推荐(1) 编辑

2011年9月23日

进程通信之一使用WM_COPYDATA

摘要:进程间通信最简单的方式就是发送WM_COPYDATA消息。发送WM_COPYDATA消息:SendMessage(接收窗口句柄, WM_COPYDATA, (WPARAM)发送窗口句柄, (LPARAM)&CopyData);其中的CopyData为COPYDATASTRUCT结构类型,该结构定义如下:typedef struct tagCOPYDATASTRUCT {DWORD dwData; // Specifies data to be passed to the receiving application. DWORD cbData; //Specifies the size, 阅读全文

posted @ 2011-09-23 15:39 MoreWindows 阅读(12423) 评论(3) 推荐(0) 编辑

2011年9月19日

VC 控制台颜色设置

摘要:通常控制台都是白字黑底的,千篇一律不免单调。适当的在控制台中加入一些彩色可以让人耳目一新,本文介绍如何使用系统API接口去修改控制台的文字和背景颜色。主要用到如下二个函数:得到standard input, standard output, or standard error的设备句柄:HANDLE GetStdHandle(DWORD nStdHandle);参数有:STD_INPUT_HANDLE,STD_OUTPUT_HANDLE及STD_ERROR_HANDLE。传入STD_OUTPUT_HANDLE就可以得到控制台输出设备的句柄。设置控制台设备的属性BOOL SetConsoleTe 阅读全文

posted @ 2011-09-19 10:30 MoreWindows 阅读(7502) 评论(4) 推荐(2) 编辑

2011年9月2日

VC 在控制台下显示进度

摘要:当程序在进行大量的运算或IO操作时,常常需要耗很长时间,为了不让用户有一个乏味的等待或是错误的认为系统已经死机,有必要给程序添加进度提示功能。在窗口界面中要显示进度条和显示完成百分比是非常容易的,但如何在控制台下去完成这个任务了?一行一行的输出当前完成百分比肯定是不够美观的,最好能“原地踏步”一样的显示即旧的数字会被新的数字完全覆盖。其实这个是很容易的,下面先给出的示例代码,稍后再进行讲解。//在控制台下显示进度#include <stdio.h>#include <windows.h>int main(){ const int NUM = 50;//任务完成总量 fo 阅读全文

posted @ 2011-09-02 10:28 MoreWindows 阅读(4286) 评论(2) 推荐(3) 编辑

2011年8月30日

VC Debug与Release区别

摘要:Debug通常称为调试版本,它包含调试信息,并且不作任何优化,便于程序员调试程序。Release称为发布版本,它往往是进行了各种优化,使得程序在代码大小和运行速度上都是最优的,以便用户很好地使用,我们使用的软件都是Release版本的。Debug 和 Release 并没有本质的界限,他们只是一组编译选项的集合,编译器只是按照预定的选项进行编译链接。VC编译器的编译选项可以在Project Setting中查看(Project菜单再选择Setting),如下图:下面列出了控制台程序和Win32程序在Debug和Release设置下的典型配置:典型的控制台程序在Debug版本下的编译选项:/no 阅读全文

posted @ 2011-08-30 11:01 MoreWindows 阅读(3996) 评论(0) 推荐(1) 编辑

2011年8月29日

VC 编译参数介绍

摘要:VC编译器的编译链接参数非常之多,对程序生成在细节上的控制也是非常强大的。要深入了解编译器参数是比较困难的,但作个初步认识还是不太难。编译参数可以在Project Setting中查看(Project菜单再选择Setting),如下图:这些参数究竟代表什么意思了?可以通过在CMD窗口下输入cl /help(注1)查看各个参数的含义。 C/C++ COMPILER OPTIONS -OPTIMIZATION-优化/O1 minimize space /Op[-] improve floating-pt consistency/O2 maximize speed /Os favor code sp 阅读全文

posted @ 2011-08-29 19:44 MoreWindows 阅读(3079) 评论(1) 推荐(0) 编辑

2011年8月26日

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

摘要:在C++中,静态成员是属于整个类的而不是某个对象,静态成员变量只存储一份供所有对象共用。所以在所有对象中都可以共享它。使用静态成员变量实现多个对象之间的数据共享不会破坏隐藏的原则,保证了安全性还可以节省内存。静态成员的定义或声明要加个关键static。静态成员可以通过双冒号来使用即<类名>::<静态成员名>。在C++中类的静态成员变量和静态成员函数是个容易出错的地方,本文先通过几个例子来总结静态成员变量和成员函数使用规则,再给出一个实例来加深印象。希望阅读本文可以使读者对类的静态成员变量和成员函数有更为深刻的认识。第一个例子,通过类名调用静态成员函数和非静态成员函数cl 阅读全文

posted @ 2011-08-26 11:38 MoreWindows 阅读(32385) 评论(11) 推荐(14) 编辑

2011年8月22日

白话经典算法系列之七 堆与堆排序

摘要:堆排序与快速排序,归并排序一样都是时间复杂度为O(N*logN)的几种常见排序方法。学习堆排序前,先讲解下什么是数据结构中的二叉堆。 二叉堆的定义 堆的存储 堆的操作——插入删除 堆化数组 堆排序 阅读全文

posted @ 2011-08-22 16:00 MoreWindows 阅读(8057) 评论(3) 推荐(5) 编辑

导航