C++开发人脸性别识别教程(2)——VisualStudio初探

2024-08-28 18:18

本文主要是介绍C++开发人脸性别识别教程(2)——VisualStudio初探,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

  上一篇教程中已经大致描述了项目的最终效果,考虑到读者中有很多零基础的同学,我们这里并不急于进行代码的编写,而是先简要介绍下所用到的开发工具——VisualStudio2012。

  VisualStudio是微软推出的非常强大的开发软件,在C++开发领域可谓占据了半壁江山。VisualStudio经典版本主要有2005、2008、2010、2012、2013、2015等版本。2005和2008现在已经稍显过时,现在应用已经不太广泛。目前2010、2012、2013是目前较为流行的版本,免费版本也相对容易找到。2015是最新发布的版本,文件较大(大约5个G),对硬件要求相对苛刻一点,并且不容易找到免费版本。这里推荐使用VS2012版本,原因有两个:一是VS2012版本还不算过时,而且界面相比08、10版本更为友好;二是VS2012支持一个重要的OpenCv插件:ImageWatch。

  一、启动VS2012

  这里假设已经安装了VS2012并破解完成,相关的安装教程网上有很多资源,大家如果有疑问的话可以在下方留言,有必要的话我会上传相关的安装文件以及破解方法。

双击快捷方式(开始菜单栏、桌面快捷方式、任务栏中的快速启动图标均可),首次启动会提示选择编程语言种类,这里选择C++即可(可能需要几分钟的初始化时间)。

  接下来进入开始界面:

 

  二、基本设置 

  1、主题设置

  首先,VS2012默认提供两种主题,深色和浅色。通过“工具—>选项”主菜单命令打开设置对话框,展开“环境”节点,在“常规”设置界面中进行设置:

  2、窗口布局

  观察当前VS所显示的窗口布局,推荐大家将VS的界面调整为这种格式,方便编写程序。

  首先在窗口的右侧显示三个编辑窗口,分别为解决方案资源管理器、类视图、资源视图:

 

  这三个窗口将以三种模式来显示当前的工程结构,这里我们打开工程文件,对这三个窗口进行详细介绍。Ctrl+O,弹出打开工程对话框,选择对应的project文件:

  在解决方案管理器窗口中,将以头文件和源文件的形式显示工程目录:

 

  在类视图窗口中,将显示当前程序工程中的所有类结构:

 

  在资源视图窗口中,显示当前工程所用到的所有资源,包括图片、对话框、字符串表等:

 

  一般在创建、添加文件时使用解决方案资源管理器;在编写代码(尤其是大型的、面向对象的代码工程)使用类视图,方便定位相应的类以及成员函数;在资源视图中完成MFC界面设置以及相关资源的查找引用等。

  3、基本操作

  这里简单的介绍一些VS2012在编写代码过程中的常用操作,这里主要介绍快捷键,当然相应的功能也可以通过主菜单栏的菜单命令和快捷菜单命令来完成。

  (1)拼写提示

  VS一个非常让人舒服的功能就是在敲代码时提供了拼写提示的功能,这也是高级IDE必备的功能之一,在你输入代码的过程中,VS会自动根据你当前输入的情况给出提示信息:

  (2)编译链接

  按下F7,VS会对当前代码进行编译并链接相关库文件。

  (3)调试

  如果编译顺利通过,就可以进行调试。在调试之前需要先设置断点(当然不设置也可以)。VS设置断点的方法有三种:菜单、快捷键、鼠标单击左槽。这里推荐使用快捷键。将光标定位在指定行,按下F9设置断点:

  这里介绍一个取消所有断点的快捷键组合:ctrl+shift+F9。

  断点设置完成后,按下F5,程序开始调试,并在命中断点后暂时挂起。

  (4)运行

  调试通过后,按下ctrl+F5运行程序即可。

  三、注意事项

  1、MFC相关知识

  这个项目在开发过程中用到了大量的MFC编程,这在以后使用过程中在详细介绍,需要说的是MFC空间的操作都通过工具箱窗口进行,这里通过“视图—>工具箱”命令调出工具箱窗口,并将其置于窗口右侧即可:

 

  2、调试器的版本问题

  这里我的电脑是用的64位,而VS在调试是默认为win32:

 

  考虑到我们之后要配置的opencv是64位的,一些底层的编译环境(如g++等)也是64位的,因此这里建议换成64位的调试器:单击“Win32”右侧的下拉箭头,选择配置管理器:

 

  在弹出的窗口中,单击下拉箭头,选择新建:

  在弹出窗口中选择X64:

 

  注意左侧生成栏下面的对话框需要勾选。单击确定,关闭当前窗口。此时再次单击“Win32”右侧的下拉箭头,发现其中多了一个X64的选项,选中即可。

  四、总结

  这篇教程总结了VS2012的一些基本操作和注意事项,帮助之前零基础的朋友快速入门,更多有关VS2012的相关配置大家可以参考网上资源。在下一篇教程中我们将会简要介绍OpenCv在VS2012中的配置以及插件ImageWatch的使用。

这篇关于C++开发人脸性别识别教程(2)——VisualStudio初探的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



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

相关文章

Windows下C++使用SQLitede的操作过程

《Windows下C++使用SQLitede的操作过程》本文介绍了Windows下C++使用SQLite的安装配置、CppSQLite库封装优势、核心功能(如数据库连接、事务管理)、跨平台支持及性能优... 目录Windows下C++使用SQLite1、安装2、代码示例CppSQLite:C++轻松操作SQ

C++中RAII资源获取即初始化

《C++中RAII资源获取即初始化》RAII通过构造/析构自动管理资源生命周期,确保安全释放,本文就来介绍一下C++中的RAII技术及其应用,具有一定的参考价值,感兴趣的可以了解一下... 目录一、核心原理与机制二、标准库中的RAII实现三、自定义RAII类设计原则四、常见应用场景1. 内存管理2. 文件操

C++中零拷贝的多种实现方式

《C++中零拷贝的多种实现方式》本文主要介绍了C++中零拷贝的实现示例,旨在在减少数据在内存中的不必要复制,从而提高程序性能、降低内存使用并减少CPU消耗,零拷贝技术通过多种方式实现,下面就来了解一下... 目录一、C++中零拷贝技术的核心概念二、std::string_view 简介三、std::stri

C++高效内存池实现减少动态分配开销的解决方案

《C++高效内存池实现减少动态分配开销的解决方案》C++动态内存分配存在系统调用开销、碎片化和锁竞争等性能问题,内存池通过预分配、分块管理和缓存复用解决这些问题,下面就来了解一下... 目录一、C++内存分配的性能挑战二、内存池技术的核心原理三、主流内存池实现:TCMalloc与Jemalloc1. TCM

Python实例题之pygame开发打飞机游戏实例代码

《Python实例题之pygame开发打飞机游戏实例代码》对于python的学习者,能够写出一个飞机大战的程序代码,是不是感觉到非常的开心,:本文主要介绍Python实例题之pygame开发打飞机... 目录题目pygame-aircraft-game使用 Pygame 开发的打飞机游戏脚本代码解释初始化部

C++ 函数 strftime 和时间格式示例详解

《C++函数strftime和时间格式示例详解》strftime是C/C++标准库中用于格式化日期和时间的函数,定义在ctime头文件中,它将tm结构体中的时间信息转换为指定格式的字符串,是处理... 目录C++ 函数 strftipythonme 详解一、函数原型二、功能描述三、格式字符串说明四、返回值五

使用Python开发一个现代化屏幕取色器

《使用Python开发一个现代化屏幕取色器》在UI设计、网页开发等场景中,颜色拾取是高频需求,:本文主要介绍如何使用Python开发一个现代化屏幕取色器,有需要的小伙伴可以参考一下... 目录一、项目概述二、核心功能解析2.1 实时颜色追踪2.2 智能颜色显示三、效果展示四、实现步骤详解4.1 环境配置4.

Nexus安装和启动的实现教程

《Nexus安装和启动的实现教程》:本文主要介绍Nexus安装和启动的实现教程,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录一、Nexus下载二、Nexus安装和启动三、关闭Nexus总结一、Nexus下载官方下载链接:DownloadWindows系统根

Python基于微信OCR引擎实现高效图片文字识别

《Python基于微信OCR引擎实现高效图片文字识别》这篇文章主要为大家详细介绍了一款基于微信OCR引擎的图片文字识别桌面应用开发全过程,可以实现从图片拖拽识别到文字提取,感兴趣的小伙伴可以跟随小编一... 目录一、项目概述1.1 开发背景1.2 技术选型1.3 核心优势二、功能详解2.1 核心功能模块2.

C++作用域和标识符查找规则详解

《C++作用域和标识符查找规则详解》在C++中,作用域(Scope)和标识符查找(IdentifierLookup)是理解代码行为的重要概念,本文将详细介绍这些规则,并通过实例来说明它们的工作原理,需... 目录作用域标识符查找规则1. 普通查找(Ordinary Lookup)2. 限定查找(Qualif