一、工具简介、基本界面和编程模式(包括命名法则)

2024-06-17 00:18

本文主要是介绍一、工具简介、基本界面和编程模式(包括命名法则),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

1.   VS2008工具栏的调整:

       a. 在菜单栏(就是有文件、编辑等选项的一行)或者工具栏(菜单栏下面一行)的空白位置右键即可自由添加(也可以选择自定义);

       b. VC++6.0调整工具栏的方式和VS2008相同,这不过添加之后都是以浮动窗口的形式显示,关闭后还是可以用相同的方式进行添加;

      

2.   VS2008集成环境中视图窗口的调整:

       a. 菜单栏中点击视图(View)即可选择需要添加的视图窗口;

       b. 一般需要添加比较重要的“资源视图”窗口,可以观察工作空间中的各个文件;


3.   将VC++6.0的程序转化到VS2008中的方法:

       a. 转化的障碍就是6.0编写的使用的都是多字节字符集,而VS2008使用的都是Unicode字符集;

       b. 在用VS2008打开一个VC++6.0编写的工程后,在菜单栏的项目中选择属性,然后在属性对话框中选择配置属性,再选择常规,将字符集设置成多字节字符集即可;


4.   VC++2008相对于VC++6.0的一些重要改进:

       a. 参数有效性检查:对于一些容易出错(特别容易越界)的函数的参数进行检查,比如strcpy函数,在2008中就会检查其参数(数组)是否会越界,如果会越界,则会警告(方法是设定一个非法参数导致警告);

       b. 迭代器越界检查:如果迭代器发生越界则会通过一个非法参数发出警告;

       c. 新增time_t类型:过去一直使用long类型表示系统时间(从1970年到某个时间的秒数),现在已经使用64位来表示时间了(即time_t类型),可以表示从1970年到3000年之间的时间了;

       d. for循环参数作用范围的约束:将其作用范围约束到for循环内而不像以前,其作用域是在for循环外的;


5.   打开功能介绍(在菜单来中的文件选项中):

       a. VC++6.0中的“打开”可以打开任何文件,而打开工作空间只能打开.dsw和.dsp文件;

       b. VS2008中的“打开”选项中还有多个选项可供选择,其中“打开文件”可以打开任何文件,而“打开项目/解决方案”只能打开.vcproj和.sln文件;


6.   类视图中各个图标的含义:

      a. 三个方格子代表类;

      b. 带锁的表示private的,带钥匙的表示protected的,什么都不带的表示public的;

      c. 一个红方格子表示成员函数;

      d. 一个白方格子表示成员变量;

      f.  一个方格子和b.结合起来表示public成员函数等;


7.   Windows编程模式简介:

       a. 模式主要有两种:

            *1. SDK编程,直接使用SDK函数进行编程,API函数大概有几千个,需要程序员记忆较多的函数,比较麻烦;

            *2. 包装SDK编程,将SDK函数包装进类中,再利用这些编写好的进行编程,最著名的就是MFC编程了,比SDK编程方便、容易很多;

       b. 大型程序一般使用MFC编程,而一些小型、简单程序使用SDK编程(包括Win32应用程序和Win32控制台应用程序);


8.   一个简单的Win32应用程序简介:

      a. 建立工程的时候选择Win32 Application即可,在step 1 of 1中选择“一个简单的Win32应用程序即可”;

      b. stdafx:

           i.   即Stadard Application Frame Extend的缩写,即标准应用程序框架扩展;

           ii.  StdAfx.h中已经包含了所有的Windows SDK的API接口,基本都在windows.h之类的文件中,而StdAfx.h就包含了这些头文件;

           iii. 用户使用规则就是将所有自己在程序中需要用到的头文件也都一并包含在StdAfx.h中,并且必须在所有.cpp文件中包含该头文件;

           iv. 因为所有SDK API的声明经过编译后将会非常庞大,因此为了节省空间和编译时间,通常是先编译StdAfx.h中的内容,方法就是将该头文件包含在StdAfx.cpp文件中,然后在编译其它文件之前先编译StdAfx.cpp文件,之后再编译其它文件时就不用再编译其中包含的StdAfx.h中的内容了,这样可以大大减少编译时间和空间,这个方法是Borland公司先想出来的,并且StdAfx.cpp在创建工程时就已经自动创建好了,里面就只有一句话:#include "StdAfx.h"

           v.  由于Windows SDK非常庞大和繁杂,因此StdAfx.cpp编译后生成的文件也必定是整个工程中最大的文件,其编译生成的文件是.pch文件,在编译其它文件时都会参考该文件,从而使编译速度提高,而不需要在每个文件中都编译一遍StdAfx.h中的内容;

           vi. 由于.pch文件仅仅是编译时的一个辅助文件,因此当工程编译完毕后可以删除该文件以流出更多的空间;

        注:由于Win32 Application不是控制台应用程序,在其中使用printf等控制台输入输出函数将不起作用,因为它是图形用户界面的!!!


9.   创建一个简单的单文档MFC应用程序:

       a. 创建工程的时候选择MFC AppWizard[exe],在step 1中选择单文档,其余都为默认选项;

       b. 生成文件简介:

            i.   只介绍其中三个最重要的文件;

            ii.  .dsp文件:工程文件;

            iii. .dsw文件:工作区文件;

            iv.  .rc文件:资源脚本文件;

            v.  这三个文件不能删除,也不能用文本编辑器打开(一旦打开就会受损);

            vi. 除这三个文件以外的其它文件,除了.cpp、.h文件,其余都可以删除,仅仅都是一些辅助文件;


10.  匈牙利命名法则:

         a. 是微软公司的通用命名法则;

         b. 由微软著名开发员查尔斯西蒙尼提出,由于其国际是匈牙利,因此该命名法称为匈牙利命名法;

         c. 法则内容:

              i.   标示符(包括函数和变量),都以小写字母或者单词缩写打头,用于表示类型,比如m_wndToolBar中的m_表示成员变量,wnd表示窗口类型;

              ii.  i.描述的是前缀,而前缀后面的是一个或多个以大写字母打头的单词,用以表示用途,上例中ToolBar表示其用途是工具条;

         d. 简单举例:int iX,中i表示int型变量,X表示用途或者就是一般意义上的变量名;

         e. 常用前缀:i→int,c→char,f→float,h→handle(句柄)、m_→成员变量、wnd→窗口等等;

这篇关于一、工具简介、基本界面和编程模式(包括命名法则)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1067954

相关文章

Java AOP面向切面编程的概念和实现方式

《JavaAOP面向切面编程的概念和实现方式》AOP是面向切面编程,通过动态代理将横切关注点(如日志、事务)与核心业务逻辑分离,提升代码复用性和可维护性,本文给大家介绍JavaAOP面向切面编程的概... 目录一、AOP 是什么?二、AOP 的核心概念与实现方式核心概念实现方式三、Spring AOP 的关

Redis 基本数据类型和使用详解

《Redis基本数据类型和使用详解》String是Redis最基本的数据类型,一个键对应一个值,它的功能十分强大,可以存储字符串、整数、浮点数等多种数据格式,本文给大家介绍Redis基本数据类型和... 目录一、Redis 入门介绍二、Redis 的五大基本数据类型2.1 String 类型2.2 Hash

基于Python开发Windows自动更新控制工具

《基于Python开发Windows自动更新控制工具》在当今数字化时代,操作系统更新已成为计算机维护的重要组成部分,本文介绍一款基于Python和PyQt5的Windows自动更新控制工具,有需要的可... 目录设计原理与技术实现系统架构概述数学建模工具界面完整代码实现技术深度分析多层级控制理论服务层控制注

Python之变量命名规则详解

《Python之变量命名规则详解》Python变量命名需遵守语法规范(字母开头、不使用关键字),遵循三要(自解释、明确功能)和三不要(避免缩写、语法错误、滥用下划线)原则,确保代码易读易维护... 目录1. 硬性规则2. “三要” 原则2.1. 要体现变量的 “实际作用”,拒绝 “无意义命名”2.2. 要让

Java Instrumentation从概念到基本用法详解

《JavaInstrumentation从概念到基本用法详解》JavaInstrumentation是java.lang.instrument包提供的API,允许开发者在类被JVM加载时对其进行修改... 目录一、什么是 Java Instrumentation主要用途二、核心概念1. Java Agent

Java Docx4j类库简介及使用示例详解

《JavaDocx4j类库简介及使用示例详解》Docx4j是一个强大而灵活的Java库,非常适合需要自动化生成、处理、转换MicrosoftOffice文档的服务器端或后端应用,本文给大家介绍Jav... 目录1.简介2.安装与依赖3.基础用法示例3.1 创建一个新 DOCX 并添加内容3.2 读取一个已存

基于Go语言开发一个 IP 归属地查询接口工具

《基于Go语言开发一个IP归属地查询接口工具》在日常开发中,IP地址归属地查询是一个常见需求,本文将带大家使用Go语言快速开发一个IP归属地查询接口服务,有需要的小伙伴可以了解下... 目录功能目标技术栈项目结构核心代码(main.go)使用方法扩展功能总结在日常开发中,IP 地址归属地查询是一个常见需求:

Java中最全最基础的IO流概述和简介案例分析

《Java中最全最基础的IO流概述和简介案例分析》JavaIO流用于程序与外部设备的数据交互,分为字节流(InputStream/OutputStream)和字符流(Reader/Writer),处理... 目录IO流简介IO是什么应用场景IO流的分类流的超类类型字节文件流应用简介核心API文件输出流应用文

Kotlin 协程之Channel的概念和基本使用详解

《Kotlin协程之Channel的概念和基本使用详解》文章介绍协程在复杂场景中使用Channel进行数据传递与控制,涵盖创建参数、缓冲策略、操作方式及异常处理,适用于持续数据流、多协程协作等,需注... 目录前言launch / async 适合的场景Channel 的概念和基本使用概念Channel 的

Python函数的基本用法、返回值特性、全局变量修改及异常处理技巧

《Python函数的基本用法、返回值特性、全局变量修改及异常处理技巧》本文将通过实际代码示例,深入讲解Python函数的基本用法、返回值特性、全局变量修改以及异常处理技巧,感兴趣的朋友跟随小编一起看看... 目录一、python函数定义与调用1.1 基本函数定义1.2 函数调用二、函数返回值详解2.1 有返