博文
[置顶] MSDN Library Visual Studio 6.0 简体中文版 (2005-11-15 10:57:00)
摘要:
MSDN Library Visual Studio 6.0 简体中文版
CD1
http://ftp.sdshiyan.cn/soft/program/DN60ACHS1.rar
CD2
http://ftp.sdshiyan.cn/soft/program/DN60ACHS2.rar
(下载安装(安装过程中找不到文件全部忽略)好后把CD2的文件复制到安装文件夹 98VS 中的 2052文件夹)
很多人下载后说有问题,我在将完整的安装过程给大家说一遍
==============================================
全部忽略安装好后
将CD2解压后的MSDN里的文件全部复制到
安装后生成的文件夹
Microsoft Visual Studio->MSDN98->98VS->2052文件夹就OK了~!
================================================......
VC Studio 使用技巧大全 (2005-12-17 19:11:00)
摘要:
1.检测程序中的括号是否匹配
把光标移动到需要检测的括号(如大括号{}、方括号[]、圆括号()和尖括号<>)前面,
键入快捷键“Ctrl+]”。如果括号匹配正确,光标就跳到匹配的括号处,否则光标不移动,
并且机箱喇叭还会发出一声警告声。
2.查看一个宏(或变量、函数)的宏定义
把光标移动到你想知道的一个宏上,就比如说最常见的DECLARE_MAP_MESSAGE上按一下F12
(或右键菜单中的Go To Defition Of …),如果没有建立Browse files,会出现提示对话框,
确定,然后就会跳到定义那些东西的地方。
3.格式化一段乱七八糟的源代码
选中那段源代码,按ATL+F8。
4.在编辑状态下发现成员变量或函数不能显示
删除该项目扩展名为.ncb文件,重新打开该项目。
5.如何整理ClassView视图中大量的类
可以在classview 视图中右键新建文件夹(new folder),再把具有相近性质的类拖到对
应的文件夹中,使整个视图看上去清晰明了
.
6.定位预处理指定
在源文件中定位光标到对称的#if, #endif,使用Ctrl+K.
7.如何添加系统中Lib到当前项目
在Project | Settings | Link | Object/library modules:输入Lib名称,不同的Lib之
间用空格格开.
8.如何添加系统中的头文件(.h)到当前项目.
#include <FileName.h>,告诉编译到VC系统目录去找;使用#include "FileName.h",告诉
编译在当前目录找.
9.如何在Studio使用汇编调试
在WorkBench的Debugger状态下按CTRL+F7.
10.怎样处理ClassZiard找不到的系统消息
如果要在ClassWizard中处理WM_NCHITTEST等系统消息,请在ClassWizard中Class Info页
中将Message filter改为Window就有了......
C/C++头文件一览 (2005-12-17 19:10:00)
摘要:
#include <assert.h> //设定插入点
#include <ctype.h> //字符处理
#include <errno.h> //定义错误码
#include <float.h> //浮点数处理
#include <fstream.h> //文件输入/输出
#include <iomanip.h> //参数化输入/输出
#include <iostream.h> //数据流输入/输出
#include <limits.h> //定义各种数据类型最值常量
#include <locale.h> //定义本地化函数
#include <math.h> //定义数学函数
#include <stdio.h> //定义输入/输出函数
#include <stdlib.h> //定义杂项函数及内存分配函数
#include <string.h> //字符串处理
#include <strstrea.h> //基于数组的输入/输出
#include <time.h> //定义关于时间的函数
#include <wchar.h> //宽字符处理及输入/输出
#include <wctype.h> //宽字符分类
//////////////////////////////////////////////////////////////////////////
标准 C++ (同上的不再注释)
#include <algorithm> //STL 通用算法
#include <bitset> //STL 位集容器
#include <cctype>
#include <cerrno>
#include <clocale>
#include......
C++程序员经常问的11个问题 (2005-12-17 19:08:00)
摘要:
下面的这些要点是对所有的C++程序员都适用的。我之所以说它们是最重要的,是因为这些要点中提到的是你通常在C++书中或网站上无法找到的。如:指向成员的指针,这是许多资料中都不愿提到的地方,也是经常出错的地方,甚至是对一些高级的C++程序员也是如此。
这里的要点不仅仅是解释怎样写出更好的代码,更多的是展现出语言规则里面的东西。很显然,它们对C++程序员来说是永久的好资料。我相信这一篇文章会使你收获不小。
首先,我把一些由不同层次的C++程序员经常问的问题归到一起。我惊奇的发现有很多是有经验的程序员都还没意识到 .h 符号是否还应该出现在标准头文件中。
要点1: <iostream.h> 还是 <iostream>?
很多C++程序员还在使用<iostream.h>而不是用更新的标准的<iostream>库。这两者都有什么不同呢?首先,5年前我们就开始反对把.h符号继续用在标准的头文件中。继续使用过时的规则可不是个好的方法。从功能性的角度来讲,<iostream>包含了一系列模板化的I/O类,相反地<iostream.h>只仅仅是支持字符流。另外,输入输出流的C++标准规范接口在一些微妙的细节上都已改进,因此,<iostream>和<iostream.h>在接口和执行上都是不同的。最后,<iostream>的各组成都是以STL的形式声明的,然而<iostream.h>的各组成都是声明成全局型的。
因为这些实质上的不同,你不能在一个程序中混淆使用这两个库。做为一种习惯,在新的代码中一般使用<iostream>,但如果你处理的是过去编写的代码,为了继承可以用继续用<iostream.h>旧保持代码的一致性。
要点2:用引用传递参数时应注意的地方
在用引用传递参数时,最好把引用声明为const类型。这样做的好处是:告诉程序不能修改这个参数。在下面的这个例子中函数f()就是传递的引用:
void f(const int & i);
int main()
{
f(2); /* OK......
最简单的STL教程(2005-12-17 15:29:00)
摘要:学习教程列表:
详细解说STL string
C++ 语言是个十分优秀的语言,但优秀并不表示完美。还是有许多人不愿意使用C或者C++,为什么?原因众多,其中之一就是C/C++的文本处理功能太麻烦,用起来很不方便。以前没有接触过其他语言时,每当别人这么说,我总是不屑一顾,认为他们根本就没有领会C++的精华,或者不太懂C++,现在我接触 perl, php, 和Shell脚本以后,开始理解了以前为什么有人说C++文本处理不方便了。 本文讲述了string在STL中的作用,详细介绍了STL string的用法,并讲解如何定义char_traits结构,最后提出了关于使用STL string的建议以及string类的所有函数列表。
详细查看: 详细解说STL string
使用STL流(stream)来简化C++“线程安全”日志记录
本文由周靖翻译
流是一种强大的数据处理抽象机制,它允许你调用泛型的读/写函数,不必关心数据从什么地方来、到什么地方去。使用流,同样的代码可从控制台、文件、套接字等地方读取数据。STL通常不是线程安全的,本文提出了如何在线程安全的方式下使用流的方案。
学习STL map, STL set之数据结构基础
摘要:本文列出几个基本的STL map和STL set的问题,通过解答这些问题讲解了STL关联容器内部的数据结构,最后提出了关于UNIX/LINUX自带平衡二叉树库函数和map, set选择问题,并分析了map, set的优势之处。对于希望深入学习STL和希望了解STL map等关联容器底层数据结构的朋友来说,有一定的参考价值。
彻底学习STL中的Allocator
Allocator是C++语言标准库中最神秘的部分之一。它们很少被显式使用,标准也没有明确出它们应该在什么时候被使用。今天的allocator与最初的STL建议非常不同,在此过程中还存在着另外两个设计--这两个都依赖于语言的一些特性,而直到最近才在很少的几个编译器上可用。对allocator的功能,标准似乎在一些方面追加了承诺,而在另外一些方面撤销了承诺。
标准模板库(STL)介绍(下)作者:Scott Field 。 本文以STL容器list为例,介绍了find()函数、sort()函数,search......
STL 简介,标准模板库(2005-12-17 15:28:00)
摘要:这篇文章是关于C++语言的一个新的扩展——标准模板库的(Standard Template Library),也叫STL。
当我第一次打算写一篇关于STL的文章的时候,我不得不承认我当时低估了这个话题的深度和广度。有很多内容要含盖,也有很多详细描述STL的书。因此我重新考虑了一下我原来的想法。我为什么要写这篇文章,又为什么要投稿呢?这会有什麽用呢?有再来一篇关于STL的文章的必要吗?
当我翻开Musser and Saini的页时,我看到了编程时代在我面前消融。我能看到深夜消失了, 目标软件工程出现了。我看到了可维护的代码。一年过去了,我使用STL写的软件仍然很容易维护。 让人吃惊的是其他人可以没有我而维护的很好!
然而,我也记得在一开始的时候很难弄懂那些技术术语。一次,我买了Musser&Saini,每件事都依次出现,但是在那以前我最渴望得到的东西是一些好的例子。
当我开始的时候,作为C++一部分的Stroustrup还没出来,它覆盖了STL。
因此我想写一篇关于一个STL程序员的真实生活的文章可能会有用。如果我手上有一些好的例子的话,特别是象这样的新题目,我会学的更快。
另外一件事是STL应该很好用。因此,理论上说,我们应该可以马上开始使用STL。
什麽是STL呢?STL就是Standard Template Library,标准模板库。这可能是一个历史上最令人兴奋的工具的最无聊的术语。从根本上说,STL是一些“容器”的集合,这些“容器”有list,vector,set,map等,STL也是算法和其他一些组件的集合。这里的“容器”和算法的集合指的是世界上很多聪明人很多年的杰作。
STL的目的是标准化组件,这样你就不用重新开发它们了。你可以仅仅使用这些现成的组件。STL现在是C++的一部分,因此不用额外安装什麽。它被内建在你的编译器之内。因为STL的list是一个简单的容器,所以我打算从它开始介绍STL如何使用。如果你懂得......
MFC入门[转](2005-12-17 15:23:00)
摘要:该文章为学习了C和C++以及有SDK编程基础的,但还未学习MFC的人员使用,我们开始使用一个基本的内容开始:
全部的代码如下:
#include <afxwin.h>
class sample:public CFrameWnd
{
public:
sample()
{
Create(NULL,"MFC Window");
MessageBox("My MFC Window","CFrame constructor",MB_OK);
}
};
class App:public CWinApp
{
public:
BOOL InitInstance();
BOOL ExitInstance();
};
BOOL App::InitInstance()
{
MessageBox(0,"My MFC Window","InitInstance",MB_OK|MB_ICONASTERISK);
sample *obj;
obj=new sample;
m_pMainWnd=obj;
obj->ShowWindow(SW_SHOWMAXIMIZED);
return TRUE;
}
BOOL App::ExitInstance()
{
MessageBox(0,"My Window","ExitInstance",MB_OK|MB_ICONHAND);
return TRUE;
}
App a;
你只需将以上代码拷贝下来,在VC++6.0编译器,建一个Window32工程,使用MFC链接库编译即可
具体步骤:打开VC++6.0,点击主菜单File(文件)-〉New(新建) 弹出一个对话框,我们选择
win32 Application(win32应用程序),再工程文本框给她起一个名字MyMFC,点击确定。在确认
信息的对话框里点确定。这样我们就建了一个win32 应用程序这样一个类型的工程。下面我们在
这个工程里建一个C++文件。点击菜单File(......
STL实践指南(2005-12-17 15:16:00)
摘要:原作者姓名 Jeff Bogan
介绍
这是一篇指导您如何在Microsoft Visual Studio下学习STL并进行实践的文章。这篇文章从STL的基础知识讲起,循序渐进,逐步深入,涉及到了STL编写代码的方法、STL代码的编译和调试、命名空间(namespace)、STL中的ANSI / ISO字符串、各种不同类型的容器(container)、模板(template)、游标(Iterator)、算法(Algorithms)、分配器(Allocator)、容器的嵌套等方面的问题,作者在这篇文章中对读者提出了一些建议,并指出了使用STL时应该注意的问题。这篇文章覆盖面广,视角全面。不仅仅适合初学者学习STL,更是广大读者使用STL编程的实践指南。
这是一篇指导您如何在Microsoft Visual Studio下学习STL并进行实践的文章。这篇文章从STL的基础知识讲起,循序渐进,逐步深入,涉及到了STL编写代码的方法、STL代码的编译和调试、命名空间(namespace)、STL中的ANSI / ISO字符串、各种不同类型的容器(container)、模板(template)、游标(Iterator)、算法(Algorithms)、分配器(Allocator)、容器的嵌套等方面的问题,作者在这篇文章中对读者提出了一些建议,并指出了使用STL时应该注意的问题。这篇文章覆盖面广,视角全面。不仅仅适合初学者学习STL,更是广大读者使用STL编程的实践指南。
STL简介
STL (标准模版库,Standard Template Library)是当今每个从事C++编程的人需要掌握的一项不错的技术。我觉得每一个初学STL的人应该花费一段时间来熟悉它,比如,学习STL时会有急剧升降的学习曲线,并且有一些命名是不太容易凭直觉就能够记住的(也许是好记的名字已经被用光了),然而如果一旦你掌握了STL,你就不会觉得头痛了。和MFC相比,STL更加复杂和强大。
STL有以下的一些优点:
可以方便容易地实现搜索数据或对数据排序等一系列的算法;
调试程序时更加安全和方便;
即使是人们用STL在UNIX平台下写的代码你也可以很容易地理解(因为STL是跨平台的)。
背景知识
MFC 教程(2005-12-17 15:12:00)
摘要:MFC 教程
作者:李久进
作者序
-----------
我曾写一本关于MFC的书,分析了MFC的结构和设计(《MFC深入浅出》),华中理工大学出版。书的内容建立在对MSDN和MFC SOURCE CODE的大量分析上,该书对于希望学习MFC的人来说,是较有价值的。可惜出版社好象只在几个城市针对学生作销售,虽然学生反应不错,但是外界知道不多。 http://vczx.com/tutorial/mfc/mfc.php......
由零开始做 Dialog (SDK版) — 在 VC + MSDN 下取巧篇(2005-12-17 15:03:00)
摘要: (一般来说要做一个 Dialog 是非常简单的,所以这篇教程是写给初学者的。但是由于篇幅所限,对窗体过程或事件驱动不做介绍。)
好了,言归正传。我们就马上来做吧。
打开你的 VC6 (如果有工程的请Close Workspace),选择新建工程(Win32 Application - An empty project ,记得选好保存路径),然后在该路径里新建一个 .cpp文件(比如WinMain.cpp),最后在工程管理窗口的 "FileView" 那里,选择 Add Files to project , 把刚新建的 WinMain.cpp 加入到工程里面去。
好了,你现在已经有了一个工程文件了,如果你希望加入你自己定义的对话框,还要做一个资源文件,并包含到你的工程中来,就好像 WinMain.cpp 的那样。
在 VC6 的菜单 "Insert" – "Resource... Ctrl+R" 中,理所当然要加入一个 Dialog ,选择 "New" (不是Import)。 然后你就可以得到一个默认模板的对话框了,随便给这个新建的 Dialog 设置一些属性(双击该对话框的标题栏可以得到设置属性的对话框),比方说,那个对话框的 ID: 默认的是 IDD_DIALOG1 ,你就把它改为 "MYDIALOG" (请记住要给ID 加上双引号,默认的是没有引号的,这样做是为了可以不包含 Resource.h 的头文件);跟着你喜欢的话就改改标题吧,在 Caption: 里填入 my first Dialog 。 好了,剩下的就是保存工作了。请选择 Save All,选在你的工程的目录里保存该资源文件(我这里的名字选择 Resource.rc)。
好了,现在资源文件已经有了,剩下的就是把它加入到工程中来了,方法可以参考 WinMain.cpp 的加入,不再累叙 (在 FileView 里面加入)。
好了,以下剩下的就是编辑你的 WinMaiin.cpp 了,也是我所说的可以取巧的地方。
首先,你首先必须加入的是 这一句: #inc......