vc++6.0需要什么配置,vc++环境搭建
1.字体
VC6中的“工具选项格式字体”配置字体;在VC2005的“工具选项环境字体和颜色”中配置字体。
代码一般采用等宽字体和等宽点阵(位图)字体编写,与矢量字体相比具有兼容性好、显示清晰的优点。常用的编程宽度字体有Fixedsys(VC6和notepad royal字体)、Consolas、YaHei Mono。
6 VC6默认可选字体只有Fixedsys和Terminal,可以通过修改注册表来更改。HKEY _当前_用户/软件/微软/devstudio/6.0/format下有几个子项,可以修改源窗口项的FontFace和FontSize来配置源窗口的显示字体。比如11号设置Consolas(Monofur,Monaco)的字体:FontFace=Consolas,FontSize=11。
2.标签(标签)
程序应该以缩进的方式编写,当左括号断开时,IDE会自动缩进。缩进的空格数和制表符的宽度一般设置为4个半角字符。因为不同的编辑器对制表符的个数可能有不同的设置,有的是4,有的是8,一般采用TabSize=4。
在VC6的“工具选项制表符”的“插入空格/保留制表符”中选择“插入空格”;在VC2005中,“工具选项文本编辑器所有语言制表符”可以配置为制表符大小)/缩进大小为4。如果为“插入空格/保留制表符”选择了“插入空格”,请按Tab键填充四个空格。
3.行代码中的字符数
至于一行写多少代码行的问题,可以在VC中输入一行“//”,一般是75或80。
4.外部连接器和外部工具
外部连接器可以扩展Visual Studio的功能。比如VC6默认没有行号显示功能,你可以使用VC6LineNumberAddin插件来显示行号。从“工具-自定义插件和宏文件”中选择“浏览”进入VC6LineNumberAddin.dll,就可以加载使用了。我们可以在VC2005的“工具插件管理器”中看到已经安装的“Visual Assist X”插件,选择是否启用。
外部工具主要是结合IDE使用,比如用AStyle格式化当前打开的代码文件,用gedit打开当前的代码文件。外部工具的配置非常简单,通过VC6中的“工具自定义工具”和VC2005中的“工具外部工具”来添加。
以下是AStyle的配置:
标题:风格
命令:c:/program files/Microsoft visual studio 8/common 7/tools/a style . exe
参数:-
初始目录:$(项目目录)
选中“使用输出窗口”。
这样在工具菜单中增加了一个新的子项“AStyle”,点击“AStyle”就可以按照ANSI样式格式化当前文件代码。
5.IDE指定并打开多个项目
Q1:安装VS2005后,以前的VC6默认打开程序和图标都改成了VC2005的风格。如何恢复到VC6的默认风格?
A1:工具文件夹选项文件类型(默认程序在Win7中设置)
找到DSW文件,高级(可能先还原)编辑,用于执行操作的应用程序由 c:/program files/Microsoft visual studio 8/common 7/ide/devenv . exe % 1 改为 c:/program files/Microsoft visual studio/common/msdev 98/bin/msdev . exe % 1 ,这样默认*。dsw文件在VC 6中。同样,通过更改*的文件类型。用VC6打开dsp,你当然可以把显示图标改成VC6风格。
Q2:双击VC项目文件(*。sln/*。dsw)不会打开新的IDE窗口,而是替换已经打开的项目。
A2:工具文件夹选项文件类型(默认程序在Win7中设置)
找到DSW/SLN文件,高级(也许先恢复)编辑,勾选“使用DDE”。
二。预处理宏
1.通用宏
在VC6.0中:
项目设置C/C预处理器定义
在VC2005中:
属性配置属性C/C 预处理器定义
(1)平台识别宏
WIN32:表示它是Window 32位系统平台。
的常见平台识别宏如下:
_ DOS _: MS-DOS 16位系统平台。
WIN64:表示是Window 64位系统的平台。
_ Win32 _ WCE:windows mobile 32位系统平台。
_ UNIX: UNIX系统平台。
_ POSIX _:POSIX(UNIX的可移植操作系统接口)系统平台。
_ Linux _: Linux系统平台。
_APPLE_/_MAC_:苹果(Macintosh)系统平台。
(2)字符集识别宏
_MBCS/_UNICODE:表示此项目中使用的字符集(多字节字符集/UNICODE)。
在VC6.0中的“项目设置 C/C 项目选项”会有一个/D _MBCS 或/D _UNICODE 开关
在VC2005的“项目属性配置属性常规项目默认字符集”中选择“使用多字节字符集”或“使用Unicode字符集”;在“项目属性配置属性C/C 使用UNICODE响应文件”中选择“是”或“否”。“项目属性配置属性C/C 命令行”会有/D _MBCS 或/D _UNICODE /D UNICODE 开关。
当项目中的文件有UNICODE路径(例如中文路径)时,打开“项目属性C/C 常规”和“项目属性链接器常规”中的“使用UNICODE响应文件”开关。
(3)UI识别宏
_CONSOLE/_WINDOWS:指示应用程序的类型是控制台程序还是窗口程序(CUI/GUI)。
(4)调试/发布版本识别宏
_DEBUG/NDEBUG:表示编译后的版本(Debug/Release)。
2.项目类型特定宏
VC有不同的项目类型,编译器中有一些特定的宏来区分项目类型。
(1)Win32静态库项目
在VC6.0中:
项目设置C/C(类别:常规)预处理器定义:_LIB
_WINDOWS,_AFXDLL(如果选择了MFC支持)
在VC2005中:
属性常规配置类型静态库(。lib)
属性C/C 预处理程序预处理程序定义:_LIB
(2)Win32动态链接库项目
在VC6.0中:
项目设置C/C预处理器定义:_WINDOWS,_USRDLL,DLL_EXPORTS
在VC2005中:
属性常规配置类型动态库(。dll)
属性C/C 预处理程序预处理程序定义:_ WINDOWS_ USRDLLDLL _导出
(3)MFC DLL项目
1带有MFC静态链接的常规dll(带有静态链接MFC的常规DLL)
在VC6.0中:
项目设置C/C预处理器定义:_WINDOWS、_WINDLL、_USRDLL
在VC2005中:
属性C/C 预处理程序预处理程序定义:_ WINDOWS_USRDLL
2使用共享MFC DLL的常规DLL(使用共享MFC DLL的常规DLL)
在VC6.0中:
项目设置C/C预处理器定义:_WINDOWS、_WINDLL、_AFXDLL、_USRDLL
在VC2005中:
属性C/C 预处理程序预处理程序定义:_ WINDOWS_USRDLL
3 MFC扩展dll(使用共享MFC dll) (MFC扩展DLL)
在VC6.0中:
项目设置C/C预处理器定义:_WINDOWS、_WINDLL、_AFXDLL、_USRDLL
在VC2005中:
属性C/C 预处理程序预处理程序定义:_ WINDOWS_AFXEXT
在一个DLL项目中,_USRDLL宏的意思是生成导出库!
3.其他常用宏
__FILE__/__LINE__:
__FILE__是包含当前程序文件名的路径字符串,例如C:/Program Files/Microsoft Visual Studio/VC98/include/stdio . h;__LINE__是当前程序代码的行号,从1开始的整数。
__STDC__/__cplusplus:
编译标准C(ANSI C)程序时,编译器自动定义_ _ _ STDC _ _;_;编译标准C程序时,编译器自动定义__cplusplus。
_ MSC _ ver:Microsoft Visual C #编译器的版本号。比如VC 6.0是1200,VC 8.0是1400等等。
WIN32_LEAN_AND_MEAN告诉编译器不要加载MFC(不使用MFC)。
有关VC编译器预处理宏,请参考:
《AFXDLL和 _AFXEXT》
《Predefined Macros(VC6.0)》
《C/C++ Preprocessor Reference-Predefined Macros(VC8.0)》
《What’s the difference between the WIN32 and _WIN32 defines in C++》
三。控制台程序的工作目录和运行参数
在VC6.0中:
在“项目设置调试工作目录”填写exe程序的工作目录。
在“项目设置调试程序论证”填写主要运行参数。
在VC2005中:
在“项目属性配置属性调试工作目录”处填写exe程序的工作目录。
在“项目属性配置属性调试命令参数”处填写主要运行参数。
的默认工作目录是ProjectDir,即*所在的目录。dsp/*。vcproj位于。
当编译器启动应用程序(Ctrl F5)时,可以将依赖的lib和dll库文件所在的目录设置为工作目录。在应用程序执行过程中,文件操作的默认路径是工作目录。
工作目录指当前目录,路径由GetCurrentDirectory()获取;要更改的SetCurrentDirectory。
运行目录是指exe所在的路径,可以通过GetModuleFileName()获取。
四。其他头文件包括
在VC6.0中:
VC6.0默认包含路径:工具选项目录包含文件。
对于特定项目的头文件,在“项目设置 C/C(类别:预处理器)附加包含目录”中添加一个附加的头文件目录,并参考*。相对目录的dsp文件。
目录不需要加双引号,路径分隔符是/或者/,所以不需要对反斜杠/进行转义。多个路径用逗号分隔。
“/I”对应的include命令会出现在“项目设置 C/C 项目选项”中。
在VC2005中:
VC2005默认包含路径:工具选项项目和解决方案VC目录包含文件。
对于特定项目的头文件包含,在“项目属性配置属性C/C 常规附加包含目录”中增加一个附加包含目录,参考$ProjectPath(*。vcproj文件路径)作为相对目录。
目录不需要加双引号,路径分隔符是/或者/,所以不需要对反斜杠/进行转义。多个路径用分号分隔。
“/I”对应的include命令会出现在“项目属性配置属性C/C 命令行”中。
关于包含#include的两种方式
#包括标准*。h是编译器指定的包含路径下的头文件:即VC6.0中“工具选项目录包含文件”指定的包含目录(对应VC2005中的“工具选项项目和解决方案VC目录包含文件”)。默认情况下包括。
(1)$(VCInstallDir)INCLUDE(/Microsoft Visual Studio/VC98/INCLUDE)
(2 )( VCInstallDir)ATL MFC/INCLUDE(/Microsoft Visual Studio/VC98/ATL/INCLUDE 、/Microsoft Visual Studio/VC98/MFC/INCLUDE)
(3)$(VCInstallDir)平台SDK/include(VC2005).
一般可以用尖括号来包含“工具选项目录包含文件”目录下的文件(“工具选项项目和解决方案VC目录包含文件”)。系统尖括号的包含首先位于编译器设置的包含路径下,然后位于附加的包含目录下。
#includeMyHeader.h 是指在“工具选项目录包含文件”中手动添加的包含路径下的头文件(“工具选项项目和解决方案VC目录包含文件”)或附加包含目录下的头文件。
对于编译器提供的标准库函数头文件(“工具选项目录包含文件”(“工具选项项目和解决方案VC目录包含文件”),一般使用尖括号进行包含声明。当然,使用双引号来包含并没有错。
在工具选项目录包含文件(“工具选项项目和解决方案VC目录包含文件”)的附加包含目录中,可以用尖括号包含手动添加的包含路径和头文件,但通常使用双引号。
原则上,对于项目或文件的可见包含目录中头文件的包含,使用上述两种包含方法中的任何一种都不会出错,主要是因为它们在搜索目录时的顺序不同。习惯上用尖括号包含标准库函数头文件,用双引号包含用户定义的头文件。
一般只需要包含特定项目的附加头文件,而不是编译器的“工具选项目录包含文件”(对应VC2005中的“工具选项项目和解决方案VC目录包含文件”)。但对于DirectX、wxWidgets等SDK,一般建议在编译器级别全局配置include/library路径,同时指定相应的源代码路径进行源代码级调试(F11进入SDK内部代码)。下面的链接库包含了同样的原因。
外部依赖项显示了要在您的项目中使用的头文件,这些头文件不在您的项目中,也不在VC的默认包含路径中。参考:《VC6.0的External Dependencies》。
动词(verb的缩写)附加的链接库包含
在VC6.0中:
VC6.0默认库包含以下路径:工具选项目录库文件。
对于特定项目的头文件包含,可以通过以下两个步骤添加附加的链接库:
1.在“项目设置链接(类别:输入)附加库路径”中添加附加库目录,并参考*。相对目录的dsp文件。
目录不需要加双引号,路径分隔符是/或者/,所以不需要对反斜杠/进行转义。多个路径用逗号分隔。
对应的会在“项目设置链接项目选项”同步包含命令的“/libpath”库。
2.在“项目设置链接(类别:常规)对象/库模块”处添加库文件名YourLib.lib(也可以在文件中使用# pragma comment (lib, yourlib.lib )显式导入依赖的静态库)。多个库由空格分隔。
相应的会在“项目设置链接项目选项”同步包含的库名。
在VC2005中:
VC2005默认lib包含路径:工具选项项目和解决方案VC目录库文件。
对于包含特定项目的库文件,可以通过以下两种方式添加其他库目录:
1.
(1)在“项目属性配置属性链接器常规附加库目录”处输入附加库目录路径,参考$ProjectPath(*。vcproj文件路径)作为相对目录。
目录不需要加双引号,路径分隔符是/或者/,所以不需要对反斜杠/进行转义。多个路径用分号分隔。
对应的将同步“/LIBPATH”库,该库包含“项目属性配置属性链接器命令行”中的命令。
(2)在“项目属性配置属性链接器输入附加依赖项”添加库文件名YourLib.lib(也可以使用# pragma comment (lib, yourlib.lib )显式导入文件中的依赖静态库)。多个库由空格分隔。
相应的将在“项目属性配置属性链接器命令行”同步包含的库名。
2.
在“项目属性配置属性链接器命令行”添加库文件名YourLib.lib(必要时添加相对目录,保证YourLib的可见性)。
不及物动词设置生成的文件目录
在VC6.0中:
填写*的生成目录。exe或*。lib/*。“项目设置通用输出目录”的“输出文件”中的dll,文件输出路径会在“项目设置链接(或库)输出文件名”同步。请参阅*。相对目录的dsp文件。
在“项目设置常规输出目录”的“中间文件”中填写中间文件生成目录。请参阅*。相对目录的dsp文件。
在VC2005中:
在“项目属性常规输出目录”处填写输出目录,在“项目属性常规中间目录”处填写中间目录。请参考$ProjectPath(*。vcproj文件路径)作为相对目录。
在项目属性链接器(或管理员)常规输出文件中填写输出文件路径。
输出目录(OutDir)通常为$(solution dir)$(configuration name)
OutputFile一般是$ (outdir)/$ (projectname)。exe (*。lib,*。dll)
1.环境变量的宏描述
$(SolutionDir)是存放*的文件夹。sln文件的位置,后跟“/”;
$(ProjectDir)是存放*的文件夹。vcproj文件的位置,后跟“/”;
$(PlatformName)是平台名称,如Win32、Windows Mobile 6 Professional SDK(arm v4 I)。
$(ConfigurationName)是*所在文件夹下的调试和发布文件夹。*的vcproj文件。sln位于。请参考*中的配置项目。vcproj文件。
在具体的“项目属性配置属性调试命令”下拉中点击“编辑”展开“宏(M)”,可以看到很多项目内置的宏。
2.生成目录的配置
输出目录(outdir): $(项目目录)$(平台名称)/$(配置名称)
以上$(PlatformName)主要用于发布多平台版本。对于常见的单平台开发,这条路径是可选的。
在TargetDIr是OutDir后添加“/”。
输出文件主要按项目区分如下:
(1)DLL项目:*。pdb,*。exp,*。解放运动
(2)EXE项目:*。物理数据库
中间目录(intdir): $ (outdir)/intermediate
中间文件包括*。pch,*。obj,(*。sbr)、vc6(8)0.idb、VC6 (8) 0.pdb。
输出文件:$ (outdir)/$ (projectname)。lib (dll,exe)
(1)DLL项目:*。诸如此类,*。动态链接库
(2)EXE项目:*。诸如此类,*。可执行程序的扩展名
请参考《预编译头文件》了解*。pch请注意*。诸如此类的。pdb文件只会在调试版本中生成。对于*。诸如此类的。pdb,请参考《VC项目配置基础》。
一般大型项目(*。dsw,*。sln)同时包含LIB、DLL和EXE项目。习惯上是把LIB输出到项目输出目录,或者把这些链接中用到的LIB放到一个专门的目录中;EXE及其运行的DLL输出到BIN目录,方便项目的组织和最终结果的发布。
3.清理调试发布目录的脚本-clean.bat
@ echo -
@ echo清理调试目录和发布目录。
@ echo -
@回声
中止
艾可,清理一下
FOR/R . % d IN(。)DO rd/s/q“% % d Debug”2 nul
FOR/R . % d IN(。)rd/s/q“% % d Release”2 nul
del /q/s *用户*。opt *。plg *。网络控制块
艾可,清理一下
回声。中止
七。关于相对目录
相对目录是相对于某个文件的。比如VC项目属性中配置的附加包含目录和附加库目录都是相对于*。dsp和*。vcproj文件。*中#include include命令的使用。c,*。cpp文件相对于这个*。c,*。cpp文件。
当前目录可见。一般直接引用文件名(文件夹),和”。可以为子文件夹添加“/”。
.父目录。/include:父目录下的包含目录。
./.祖父目录
http://www..com/include:包括祖父目录下的目录
在VC2005中,"属性窗口"可以查看当前文档的"文件信息",其中文件的相对路径为*。可以查看vcproj。
八。对项目绑定的依赖
一个解决方案(dsw,sln)可以创建许多辅助子项目(dsp,vcproj)。如何设置先编译依赖的辅助项目,再编译主项目?
通常,辅助子项目的OutDir配置为与主项目的OutDir相同,这样生成的lib或dll对主项目exe直接可见。
在VC6.0中:
选择“项目依赖项”以选择要关联的项目。
在VC2005中:
在解决方案资源管理器中右击项目名称,然后选择“引用”或“项目依赖项”菜单以添加(选择)被引用的依赖项目;选择项目生成顺序以在建立项目相关性后查看项目生成顺序。
依赖关系建立后,在编译主项目(F7,Build)时,如果发现附属的依赖子项目发生变化,将首先编译子项目。
九。附加DLL的调试
在VC6.0中:
如果你需要调试的DLL是动态加载的(LoadLibrary),你需要在“项目设置调试(类别:附加DLL)”添加这个DLL文件。
勾选第一列,在调试会话开始时加载模块的符号。
X.导出makefile
在VC6.0中选择“项目导出Makefile”导出Makefile *.mak。
VC6之后不再支持Makefile输出。
参考:《VC的MAKE文件的语法》,《vs6 IDE导出的makefile使用方法》,《教你在VS2005下写MakeFile》
XI。代码编辑和阅读导航
Visual Studio本身完全由代码组织、编辑、分析和读取的能力来支持。
VC6.0的“项目设置 c/c 生成浏览信息”和“项目设置浏览信息构建浏览信息文件”可以生成向导文件,FileView和ClassView需要这些文件进行导航。
VC6.0和VC2005中的“编辑在文件中查找”支持在指定项目、工程或文件中进行关键字搜索。
VC6.0的工具源代码浏览器(AltF12)提供了对定义和引用、文件大纲、基类和成员、派生类和成员、调用图和调用者图等导航功能的支持。VC2005侧边栏中的类视图支持基类、派生类型、继承成员等函数的显示,右键快捷菜单中的调用浏览器支持函数调用图和被调用图的查看。
编辑时,VC6右键快捷菜单支持“列出成员”、“参数信息”、“类型信息”、“完整单词”。对应VC2005文本编辑器工具栏中的“显示对象成员列表”、“显示参数信息”、“显示快捷信息”、“显示文本自动完成”。
VC2005右键快捷菜单支持“查找所有引用”,可以利用代码定义窗口方便地浏览代码。VC2005标准工具栏中的“向后定位/向前定位”支持定位功能。另外,在读取代码时,我们可以使用书签来设置锚点,这样就可以实现基于书签的自定义索引导航。
下面介绍常用的编程助手插件软件和源代码层次分析工具软件。
1.Visual Assist X是一款非常不错的微软Visual Studio辅助插件,支持C/C++、C #、ASP、Visual Basic、Java、HTML等语言。可以自动识别各种关键字、系统函数、成员变量,自动给出输入提示,自动纠正大小写错误,自动标注错误等。有助于提高开发过程的自动化和开发效率。比如在VA大纲重构重命名中右键可以快速更新变量命名。
2.2以下来源洞察。Windows是用于项目开发的程序编辑器和代码导航浏览器。它还可以显示引用树、类继承图和调用树。源码导航器,Linux下读取源码的利器,可以解决文件定位和跳转的问题。
3.Rational Rose是使用UML(统一建模语言)分析和设计面向对象软件系统的强大可视化工具。它可以分析项目需求,规划结构,生成框架代码,还可以支持从现有系统中逆向调用工程代码,生成Rose模型的功能。
逆向工程是从现有系统代码生成模型的功能。用Rational Rose分析现有代码,可以了解代码结构和数据结构,生成类层次图、数据模型图和组件图。
十二。VC的常用快捷键
Alt F7:项目设置
Ctrl/K:查找上一个/下一个预编译条件
Ctrl J/K:找到上一个/下一个预编译条件,选择这个块。
Ctrl Tab:在当前打开的文档和上次打开的文档之间切换。
o:头文件和cpp文件的交互显示
F12:转到定义
Shift F12:转到参考
Ctrl:文档标题
Ctrl Shift Home:从当前位置选择到单据头
结束:文档结束
Ctrl End:选择从当前位置到文档末尾。
Alt F8:自动格式
ctrl+F4:关闭当前文档
Ctrl Z/Alt退格键:撤消
Ctrl Shift Z/Ctrl Y:重做
Ctrl B/Alt F9:编辑断点
Ctrl F9:删除所有断点
Ctrl:定位工具栏以找到输入字段
Alt F3/Ctrl F:当前文档搜索
Ctrl F3:查找下一个
Ctrl Shift F3:查找上一个
Ctrl:替换
Ctrl]:括号匹配
Ctrl :向上滚动屏幕
Ctrl :向下滚动屏幕
Ctrl :移动到上一个单词
Ctrl :移动到最后一个单词
Shift :选择当前位置到上一个单词。
Shift :选择当前位置到下一个单词。
Shift]:括号匹配块选择
Ctrl F8:配合鼠标和箭头键实现垂直块选择。
ctrl+back space:删除当前单词的前半部分(由光标分割)
Ctrl:删除当前单词的后半部分(被光标分割)
Ctrl:剪切当前行
删除当前行
F2:上一个书签
Shift F2:上一个书签
Alt F2:编辑书签
Ctrl+F2:添加/删除书签
Ctrl F2:清除所有书签
参考:
《VC的环境设置》
《VC IDE使用技巧》
《VC的工程文件说明》
《VC6.0工程设置介绍》
《Visual C++ 6.0环境配置》
《你可能还不熟悉的VC6.0 IDE》
《VC 2005解决方案的目录结构设置和管理》
《Managing Solutions, Projects, and Files》
《File Types Created for Visual C++ Projects》
来源:http://博客。。net/phunxm/article/details/5082488