【genius_platform软件平台开发】第九十七讲:常见Visual Studio版本号对应表VisualStudioVersion

这篇具有很好参考价值的文章主要介绍了【genius_platform软件平台开发】第九十七讲:常见Visual Studio版本号对应表VisualStudioVersion。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

1. sln文件格式

  • 使用记事本打开.sln文件,
  • 查看msvc版本,c++,ide

从一个外行角度看,VC/VS有3种版本号,具备一定的迷惑性:(xx表示具体的数字)

MSVC++ xx(VC版本 eg. VC6.0)

_MSC_VER

VisualStudio xx(VS版本 eg. VS2012)

对照关系整理如下(更新至2022.11.9):

VC 版本 _MSC_VER VS 版本 MSVC toolset version

VC6.0 1200 VS 6.0
VC7.0 1300 VS2002
VC7.1 1310 VS2003
VC8.0 1400 VS2005 80
VC9.0 1500 VS2008 90
VC10.0 1600 VS2010 100
VC11.0 1700 VS2012 110
VC12.0 1800 VS2013 120
VC14.0 1900 VS2015 140
VC15.0 [1910,1916] VS2017 141
VC16.0 [1920,1929] VS2019 142
VC17.0 [1930,) VS2022 143

2. 解决方案(fangan.sln)文件

解决方案就是Visual Studio中用来组织项目的结构。.sln文件包含基于文本编写的信息,可用ultraedit打开,编译环境通过这些信息找到并且加载他引用到的持久数据和VSPackages项目。当用户打开解决方案的时候编译环境通过包含在.sln文件中的preSolution,Project,postSolution信息加载解决方案,包含在解决方案中的项目以及任何和解决方案有联系的持久信息。

3.文件版本(运行平台信息)

Microsoft Visual Studio Solution File, Format Version 12.00
#Visual Studio 14
VisualStudioVersion = 14.0.25420.1
MinimumVisualStudioVersion = 10.0.40219.1

4.工程信息(包含的项目信息)

Project(“{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}”) = “ssyy1”, “ssyy1\ssyy1.vcxproj”, “{D1345DA1-6889-443F-975E-8FB1FEFEC1BC}”
EndProject
Project(“{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}”) = “ssyy2”, “ssyy2\ssyy2.vcxproj”, “{4773F960-EFEC-4C69-B583-671A3237EE72}”
EndProject
项目全局唯一标识符(GUID)以及项目类型的全局唯一标识符(GUID)
前面的"{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}"是项目类型全局统一标识符,项目的全局唯一标识符(GUID)被传递到IVsProjectFactory用来加载和项目有关的特殊的VSPackage,然后这个项目被载入。在上面的代码中被载入的VSPackage是Windows (Visual C++) ,因为我们创建的两个项目ssyy1、ssyy2都是Visual C++项目。

后面的"{D1345DA1-6889-443F-975E-8FB1FEFEC1BC}"是项目实例全局唯一标识符,用于在该解决方案中标识该项目的唯一性。每个项目中都存在一个唯一的项目实例ID,只有这样这个项目才能被其他解决方案中需要他的项目使用。理想状态下,如果解决方案和项目在源代码控制之下,项目的路径应该和解决方案的路径是相关的。当解决方案被第一次加载时,项目文件不能够存在于用户的电脑中。将项目文件存放在和解决方案文件相关的服务文件中,通过这个方法将相对简单的找到项目文件或者将项目文件复制到用户的电脑中。然后编译环境复制并加载剩下的项目所需文件。

GUID是确定的值:

部分VS项目GUID罗列如下:

Windows (C#)           {FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}
Windows (VB.NET)       {F184B08F-C81C-45F6-A57F-5ABD9991F28F}
Windows (Visual C++)   {8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}
Web Application        {349C5851-65DF-11DA-9384-00065B846F21}
Web Site               {E24C65DC-7377-472B-9ABA-BC803B73C61A}
WCF                    {3D9AD99F-2412-4246-B90B-4EAA41C64699}
WPF                    {60DC8134-EBA5-43B8-BCC9-BB4BC16C2548}
XNA (Windows)          {6D335F3A-9D43-41b4-9D22-F6F17C4BE596}
XNA (XBox)             {2DF5C3F4-5A5F-47a9-8E94-23B4456F55E2}
XNA (Zune)             {D399B71A-8929-442a-A9AC-8BEC78BB2433}
Silverlight            {A1591282-1198-4647-A2B1-27E5FF5F6F3B}
ASP.NET MVC            {F85E285D-A4E0-4152-9332-AB1D724D3325}
ASP.NET MVC 4          {E3E379DF-F4C6-4180-9B81-6769533ABE47}
Test                   {3AC096D0-A1C2-E12C-1390-A8335801FDAB}
Solution Folder        {2150E333-8FDC-42A3-9474-1A3956D46DE8}

5…全局设置(全局变量)

Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|x64 = Debug|x64
Debug|x86 = Debug|x86
Release|x64 = Release|x64
Release|x86 = Release|x86
EndGlobalSection
GlobalSection(ProjectConfigurationPlatforms) = postSolution
{D1345DA1-6889-443F-975E-8FB1FEFEC1BC}.Debug|x64.ActiveCfg = Debug|x64
{D1345DA1-6889-443F-975E-8FB1FEFEC1BC}.Debug|x64.Build.0 = Debug|x64
{D1345DA1-6889-443F-975E-8FB1FEFEC1BC}.Debug|x86.ActiveCfg = Debug|Win32
{D1345DA1-6889-443F-975E-8FB1FEFEC1BC}.Debug|x86.Build.0 = Debug|Win32
{D1345DA1-6889-443F-975E-8FB1FEFEC1BC}.Release|x64.ActiveCfg = Release|x64
{D1345DA1-6889-443F-975E-8FB1FEFEC1BC}.Release|x64.Build.0 = Release|x64
{D1345DA1-6889-443F-975E-8FB1FEFEC1BC}.Release|x86.ActiveCfg = Release|Win32
{D1345DA1-6889-443F-975E-8FB1FEFEC1BC}.Release|x86.Build.0 = Release|Win32
{4773F960-EFEC-4C69-B583-671A3237EE72}.Debug|x64.ActiveCfg = Debug|x64
{4773F960-EFEC-4C69-B583-671A3237EE72}.Debug|x64.Build.0 = Debug|x64
{4773F960-EFEC-4C69-B583-671A3237EE72}.Debug|x86.ActiveCfg = Debug|Win32
{4773F960-EFEC-4C69-B583-671A3237EE72}.Debug|x86.Build.0 = Debug|Win32
{4773F960-EFEC-4C69-B583-671A3237EE72}.Release|x64.ActiveCfg = Release|x64
{4773F960-EFEC-4C69-B583-671A3237EE72}.Release|x64.Build.0 = Release|x64
{4773F960-EFEC-4C69-B583-671A3237EE72}.Release|x86.ActiveCfg = Release|Win32
{4773F960-EFEC-4C69-B583-671A3237EE72}.Release|x86.Build.0 = Release|Win32
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
EndGlobalSection
EndGlobal

preSolution和postSolution分别是在solution启动前启动后执行的操作。

6.fangan.VC.db

用vs2015创建Visual C++项目,编写生成后,每次都会生成一个project_name.VC.db文件,而且会随着你工程修改运行变的越来越大。

project_name.VC.db是sqlite后端用于百intellisense的新数据库,度相当于之前的*.sdf SQL Server Compact数据库。它与VS2015提供的智能感知、代码恢复、团队本地仓库内功能有关,VS重新加载解决方案时速度超快。如果不需要,可以禁止,就不会产生该文容件了。

如果你不想生成该文件或不需要生成该文件的话可以通过以下方式取消:
设置方法:工具–》选项–》文本编辑器–》C/C++–》高级,把回退位置和警告设置为true或者禁用数据库设为true,这样就不会产生那个文件了。

7.XXX.vcxproj

vcxproj是工程的配置文件问,管理工程中细节比如包含的文件,引用库等。一般没有sln,也答可以专直接打开vcxproj,也可以重新生成sln。

*.vcproj:VS2008以及VS2008之前版本的VS工程文件
*.vcxproj:VS2010以及VS2010之后版本的VS工程文件

8. XXX.vcxproj.filters

*.vcxproj.filters就是用于项目下文件的虚拟目录,不能丢弃。可理解为视图文件,定义了工程在VS中打开后的目录结构,修改该文件后重新build时vs不会重新build工程。vcxproj.filters文件是过滤信息文件,解决方案中的筛选器文件就保存在此文件中。

vcxproj.user是本地化用户配置,允许多个用户使用自己喜好的方式配置这个项目(例如打开项目时候窗体位置等与项目内容无关的配置), 不需要添加到版本控制中。文章来源地址https://www.toymoban.com/news/detail-617677.html

  • 在解决方案目录下的是最终文件(即可执行文件)存放的目录,在工程目录下的是中间文件(编译生成的.obj等其他文件)存放的目录,中间文件对用户来说没什么用的,只是在链接成最终文件时有用到。Debug只是为调试人员存在的。

9. XXX_main.obj文件

  • 由编译器或汇编工具生成的目标文件,是模块的二进制中间文件。有几个cpp就生成几个obj文件,单独编译的,之间没有联系。因为每次编译都是增量编译,也就是只重新编译改变了的模块,所以这个obj目录的作用就是保存这些小块的编译结果,加快编译速度。

10.XXX.log文件

  • 日志记录文件,是文本内容。

10.XXX.Build.CppClean.log

  • 当点击“重新生成解决方案”的时候会有,否则没有。

10.XXX.tlog文件夹

  • 相关记录文件,比如编译时候用到的库的头文件等;

10.XXX.pdb

  • 是存放代码中断点等调试信息的,程序的pdb既是输出文件又是输入文件,因为LINK在重新构建程序时更新pdb。

10.XXX.idb

  • 是记录了哪些文件是修改过的,需要重新编译的。

10.XXX.pch

  • 是预编译头文件,存放工程中较稳定的代码。

到了这里,关于【genius_platform软件平台开发】第九十七讲:常见Visual Studio版本号对应表VisualStudioVersion的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 第九十四回 如何打造一个网络框架

    我们在上一章回中介绍了\\\"如何mock数据\\\"相关的内容,本章回中将介绍如 何打造一个网络框架 闲话休提,让我们一起Talk Flutter吧。 最近在项目中使用dio处理网络相关的内容,有些地方的代码不能利用,有些地方的代码耦合度比较高,因此准备在dio上面封装一层网络层,这些可

    2024年02月15日
    浏览(48)
  • 第九十六回 网络综合示例:获取天气信息

    我们在上一章回中介绍了dio库中转换器相关的内容,本章回中将介绍网络综合示例: 获取天气信息 .闲话休提,让我们一起Talk Flutter吧。 我们在前面章回中介绍了网络操作相关的内容,本章回中将综合利用这些内容实现一个获取天气信息的例子。主要包含dio库的使用、网络操

    2024年02月14日
    浏览(49)
  • 第九十三回 在Flutter中mock数据

    我们在上一章回中介绍了\\\"在Flutter中解析JSON数据\\\"相关的内容,本章回中将介绍 如何mock数据 .闲话休提,让我们一起Talk Flutter吧。 我们在本章回中介绍的mock数据主要是通过相关的代码模拟服务器返回相关的数据,这些数据可以是正确的数据,也可以是错误的数据。通过mock数据

    2024年02月15日
    浏览(59)
  • RK3568-mpp(Media Process Platform)媒体处理软件平台

    概述 系统架构

    2024年02月09日
    浏览(39)
  • 第九十六天学习记录:Linux基础:实用操作Ⅰ

    注:第一张图与学习记录无关,是为了参与CSDN的AI绘图活动 1、Linux某些程序的运行,如果想要强制停止它,可以使用快捷键Ctrl+C中止 2、在命令输入错误时,也可以通过快捷键Ctrl+C快速退出当前输入 1、可以通过快捷键:Ctrl+D,退出账户的登录 2、退出某些特定程序的专属页面

    2024年02月12日
    浏览(55)
  • 数据库管理-第九十四期 19c OCM之路-第四堂(02)(20230725)

    第四堂继续! 收集Schema统计信息 开启制定表索引监控 创建索引组织表 按照题目要求创建对应的表: 收集直方图统计信息 创建位图索引(低选择性) 压缩索引 共享池保存 绑定变量配置为相似匹配 段空间管理改为自动 需要将CUST_TBS表空间转换为级自动管理: 收集多列统计

    2024年02月15日
    浏览(45)
  • 数据库管理-第九十三期 19c OCM之路-第四堂(01)(20230719)

    距离上一期19c OCM之路已经过去了整整8天了,这中间发生的事情详见第九十二期。本期来到第四堂 Performance management 性能管理,但是一开始需要把上一堂的一些内容做一些调整和补遗。 Additional configuration 其他配置 在上一堂的其他配置中,我是把并行相关内容放过去了,但是

    2024年02月16日
    浏览(39)
  • 和鲸社区数据分析每周挑战【第九十三期:特斯拉充电桩分布分析】

    本周的挑战内容为: 特斯拉充电桩分布分析 大家可以去关于特斯拉超级充电站数据集(全球)的探索在线或者下载到本地进行运行这个项目。 数据集来源本次活动提供: 1、获取拥有最多充电站的 10 个国家 我们不难发现美国共有超过1100座特斯拉充电站,是世界上特斯拉充

    2024年02月11日
    浏览(49)
  • 【驱动开发】Windows过滤平台(WFP,Windows Filtering Platform)

    正题开始之前,先总结一下Windows的发展历程。 Windows1.0、2.0、3.0、3.1、3.2:16位。 Windows9x:包括 Windows 95 、 Windows 98 、 Windows Me 。 WindowsNT系列:包括 Windows NT 3.1 、 Windows NT 3.1 、 Windows NT 4.0 、 Windows 2000 、 Windows XP 、 Windows Server 2003 、 Windows Vista 、 Windows Server 2008 、 Windows

    2024年02月08日
    浏览(40)
  • Flutter的Platform介绍-跨平台开发,如何根据不同平台创建不同UI和行为

    Flutter 平台(Platform)是一个概念,用于描述 Flutter 框架在不同操作系统(如Android、iOS、Web、macOS、Windows等)上运行时的适应性和支持。Flutter 旨在实现跨平台开发,使开发人员能够使用单一代码库构建应用程序,然后在多个平台上运行,而无需编写平台特定的代码。以下是有

    2024年02月08日
    浏览(64)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包