完全图解VS2017安装过程并演示VS2017创建Linux项目和调试

VS2017个人免费版即社区官方下载地址为:https://download.microsoft.com/download/D/1/4/D142F7E7-4D7E-4F3B-A399-5BACA91EB569/vs_Community.exe

    这是一个很小的在线下载安装器。VS2017安装变得人性化了,根据组件的分类,供安装用户选择,只安装自己需要的组件,从而避免下载太多的文件和安装用不到的组件。这样可以大大加速下载和安装。因此也不建议下载离线安装包了。有朋友安装了全部的功能,一共下载了50GB。如果将所有可下载的安装文件选中,那么一共高达85.26GB。太恐怖了。

    我们完全没有必要一次性安装那么多用不着的。如果我们后面需要,还可以再增加安装组件。还是启动这个下载的安装器安装,也可以用这个安装器卸载VS2017。

    好了,下面图解安装过程:

1.安装启动,隐私条款界面

1.安装启动,隐私条款界面

2.开始启动安装过程

2.开始启动安装过程

3.稍等片刻

3.稍等片刻

4.片刻之后,进入安装组件选择界面。默认什么都不选择,只安装VS的编辑器,占用大小764MB。

4.片刻之后,进入安装组件选择界面。默认什么都不选择,只安装VS的编辑器,占用大小764MB。

5.下面是各种组件的总体归类选择,一个归类对应了一组组件。右侧还可以对单个组件进行选择。默认选择一个中文语言包。

完全图解VS2017安装过程

完全图解VS2017安装过程完全图解VS2017安装过程

6.单个组件可以对工作负荷组选择好的大类进行组件的细化选择,可以去掉个别不想要的,也可以加入想要的组件。

6.单个组件可以对工作负荷组选择好的大类进行组件的细化选择,可以去掉个别不想要的,也可以加入想要的组件。

7.默认选择中文简体语言包。我们一般就默认即可。

7.默认选择中文简体语言包。我们一般就默认即可。

8.因为我主要做Windows C++和Linux C++所以就选择了两个。

8.因为我主要做Windows C++和Linux C++所以就选择了两个。

9.在最终选择的预览里面,连MFC都没有安装。如果你需要可以选上。很简答的配置,大小为2.84GB。

9.在最终选择的预览里面,连MFC都没有安装。如果你需要可以选上。很简答的配置,大小为2.84GB。

10.然后就开始下载和安装了。因为公司网速很慢,所以等了很久。

10.然后就开始下载和安装了。因为公司网速很慢,所以等了很久。

11.安装完毕,我们可以看到就可以启动了。在右侧的按钮,点击之后可以选择“修复”和“卸载”。如果要卸载,请在这里卸载。不要直接自己在控制面板卸载,否则卸载很麻烦的,因为组件太多了。

11.安装完毕,我们可以看到就可以启动了。在右侧的按钮,点击之后可以选择“修复”和“卸载”。如果要卸载,请在这里卸载。不要直接自己在控制面板卸载,否则卸载很麻烦的,因为组件太多了。

12.第一次启动VS2017,需要登录。

12.第一次启动VS2017,需要登录。

13.输入登录账户

13.输入登录账户

14.跳转登录界面

14.跳转登录界面

15.输入密码,完成登录。

15.输入密码,完成登录。

16.进入VS2017的主界面。

16.进入VS2017的主界面。

17.新建项目,可以看到我安装的有VC++的两种项目。

17.新建项目,可以看到我安装的有VC++的两种项目。

18.还有Linux C++项目

18.还有Linux C++项目

19.创建一个Linux C++项目。创建完毕后,有一个网页显示如何来编写调试Linux C++的代码。

19.创建一个Linux C++项目。创建完毕后,有一个网页显示如何来编写调试Linux C++的代码。

20.点击“远程GDB调试程序”启动编译和调试,反应和之前的一样的

20.点击“远程GDB调试程序”启动编译和调试,反应和之前的一样的

21.点击“是”之后,因为VS没有配置连接服务器的登录信息,所以会自动弹出登录界面。这个是可以在VS写代码,在Linux上运行和调试,用VS写Linux代码还是挺方便的。这个在之前版本还是插件形式,现在直接集成在里面了,很方便了。

21.点击“是”之后,因为VS没有配置连接服务器的登录信息,所以会自动弹出登录界面。

22.如果连接成功了,防火墙会提示一个通过是否允许的通知。允许即可。这样VS会自动将代码上传到Linux上编译调试。

22.如果连接成功了,防火墙会提示一个通过是否允许的通知。允许即可。这样VS会自动将代码上传到Linux上编译调试。

23.编译成功了,但是调试失败了。提示不能启动gdbserver。这是在Linux中GDB远程调试必须安装的程序。对于远程调试原理和环境配置的学习,请参考《gdb远程调试原理和远程调试gdbserver环境安装》。不过,对于C++技术网的会员来说,我们的服务器是已经配置好了调试环境了的,可以直接用VS连接调试。如果你是用虚拟机,那么请参照gdb远程调试文章来配置下。

23.编译成功了,但是调试失败了。提示不能启动gdbserver。这是在Linux中GDB远程调试必须安装的程序。

24、配置好之后,在代码中打断点,启动调试,就可以看到运行到了断点的位置了。可以按F10单步执行。

24、配置好之后,在代码中打断点,启动调试,就可以看到运行到了断点的位置了。可以按F10单步执行。


    VS2017在各方面有很大的改善,就拿远程调试来说,就已经很方便了,不用安装插件了。安装也人性化的分类了,这样就不用乱选了。也不用安装用不到的开发组件了。实乃一大进步。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/461994.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

spring--打印hello--注解component--自动创建对象

1.创建 GroupId----项目目录&#xff08;com.javaspring&#xff09; Artifactid---项目名称(spring01qiuckstart) Version--版本默认 2.默认打开的pom.xml文件 编辑---编写spring核心项目依赖 <?xml version"1.0" encoding"UTF-8"?> <project …

菜鸟学数据库(四)——超键、候选键、主键、外键

这些年的一些经历告诉我&#xff0c;很多初学者搞不清超键、候选键等&#xff0c;被数据库中的各种键搞的一头雾水。下面就跟大家一起聊聊数据库中的那些键。 首先看看各种键的定义&#xff1a; 超键(super key):在关系中能唯一标识元组的属性集称为关系模式的超键 候选键(ca…

嵌入式C语言之struct内存分配分析

本文源于微信号《嵌入式ARM》。链接&#xff1a;http://mp.weixin.qq.com/s/j2mk6jY79nrJge2cDZVH_A 对结构MyStruct采用sizeof会出现什么结果呢&#xff1f;sizeof(MyStruct)为多少呢&#xff1f; 也许你会这样求&#xff1a;sizeof(MyStruct)sizeof(double)sizeof(char)sizeo…

open和fopen的区别

open和fopen的区别&#xff1a; 1.非缓冲文件系统缓冲文件系统是借助文件结构体指针来对文件进行管理&#xff0c;通过文件指针来对文件进行访问&#xff0c;既可以读写字符、字符串、格式化数据&#xff0c;也可以读写二进制数 据。非缓冲文件系统依赖于操作系统&#xff0c;通…

PostMessage发送字符串和结构体

2019独角兽企业重金招聘Python工程师标准>>> 1.首先定义消息变量 #define WM_POST_MSG WM_USER 2 2.增加消息处理函数 afx_msg LRESULT UpdateStatic(WPARAM wParam, LPARAM lParam); 3.增加消息映射 ON_MESSAGE(WM_POST_MSG,UpdateStatic) 当调用PostMessage函…

求一个数组的最长递减子序列 比如{9,4,3,2,5,4,3,2}的最长递减子序列为{9,5,4,3,2}...

目前想到的一个方法&#xff0c;就是用栈来寻找&#xff0c;说下思想&#xff1a;&#xff08;栈中的data为元素所在的位置&#xff0c;这意味着出栈和进栈的都是索引值&#xff0c;所以比较的时候根据索引找到其值后比较&#xff09; &#xff08;1&#xff09;栈为空&#xf…

SPI、I2C、UART(即串口)三种串行总线详解

以下内容均来源于网络资源的学习与整理&#xff0c;如有侵权请告知删除。 参考博客 几个串口协议学习整理 UART IIC SPI_mainn的博客-CSDN博客 SPI、I2C、UART三种串行总线的原理、区别及应用_嵌入式Linux,的博客-CSDN博客 RS-232 和 UART 之间有什么区别&#xff1f; - 知乎…

select()函数以及FD_ZERO、FD_SET、FD_CLR、FD_ISSET

从别人的博客中转载过来了这一篇文章&#xff0c;经过重新编辑排版之后展现于此&#xff0c;做一个知识点保存与学习。select函数用于在非阻塞中&#xff0c;当一个套接字或一组套接字有信号时通知你&#xff0c;系统提供select函数来实现多路复用输入/输出模型&#xff0c;原型…

网络4 交换机终端命令

1、switch> 是用户模式 en/enable switch# 是特权模式 conf t/ configure temral switch(config)#是全局模式 int f0/1 /interface f0/1 switch (config-if)# 是接口模式2、show version 显示系统ISO 名称ctrlE 把光标移动到命令行结尾处ctrlA 把光标移动…

解决Office系列安装不上的办法

安装Office时提示“扩展属性不一致”的解决办法&#xff1a;使用系统自带的输入法&#xff0c;Win空格键就搞定了。转载于:https://blog.51cto.com/dreamerhan/1313823

用数据辅助设计-搜索中的实践

设计时不能单凭经验和直觉&#xff0c;因为涉及到的目标人群、场景、操作习惯的不同。为了获取更准确、有效的信息去辅助、检测设计&#xff0c;设计师会选择定性&#xff08;用户访谈、焦点小组&#xff09;和定量&#xff08;调研问卷、网站数据分析&#xff09;的方式进行用…

在IBM服务器安装Windows server 2012的心得

一个简单的问题被我搞复杂了&#xff01; 前些日子&#xff0c;由于连接服务器时卡顿、没有反应&#xff0c;我把服务器强制重启了&#xff0c;之后很不幸地&#xff0c;系统开机进入界面后&#xff0c;不断地转圈圈&#xff0c;一段时间后提示“你的电脑遇到问题&#xff0c;…

fd_set 详解

一、winsock中#include <winsock.h> 原型 int select( int nfds , fd_set* readfds , fd_set* writefds , fd_set* exceptfds , const struct timeval* timeout ); nfds&#xff1a;本参数忽略&#xff0c;仅起到兼容作用。 readfds&#xff1a;&#…

VisualVM远程连接Linux服务器通过jstatd方式监控JVM内存状态

2019独角兽企业重金招聘Python工程师标准>>> VisualVM远程连接Linux监控JVM的方式有两种,一种是jstatd,另外一种是JMX,这里描述jstatd的方式: 1.通过google/baidu出来的文章做法大致都雷同这里给出我开始参考的连接http://lixjluck.iteye.com/blog/516447 2. 但是…

STRUTS2 标签调用静态方法

struts2 ognl 调用静态方法 用ognl的静态调用<s:property value"%{java.lang.SystemcurrentTimeMillis()}"/>来显示,发现结果集为空.查了好多资料都发现这个是正确的引用,困惑......最后在查struts2.1.2的文档时发现struts2.1.2中加了很多配置元素,其中有一个名…

一些自己编写的字符串操作函数

1、编写strcat函数。&#xff08;在目的字符串结束处添加源字符串&#xff09; /*已知strcat函数的原型是char *strcat(char *strDest, const char *strSrc); 其中strDest 是目的字符串&#xff0c;strSrc 是源字符串。 不调用C / C 的字符串库函数&#xff0c;请编写函数 strc…

Android开发实践:常用NDK命令行参数

Android提供了NDK工具&#xff0c;用来编译native代码&#xff08;c/c&#xff09;&#xff0c;该工具配置好了相关的交叉编译环境和工具链&#xff0c;只需要你简单地编写几个.mk文件即可将你的c/c代码编译为Android的java工程/Android手机可以识别、加载和运行的库或者应用程…

QT问题记录之warning: ‘xxx’ will be initialized after [-Wreorder]

QT问题记录之warning: ‘xxx’ will be initialized after [-Wreorder] 在使用Qt进行Application开发的过程中&#xff0c;经常出现如下警告&#xff1a; warning: ‘xxx’ will be initialized after [-Wreorder] struct TreeNode {TreeNode *left;TreeNode *right;int val;//…

SD读写流程

一、1bit-4bit数据传输对比 CPU/EDMA与SD的数据传输可以设置为1bit或4bit模式&#xff0c;1bit模式仅使用DAT0数据线&#xff0c;4bit模式使用DAT3-DAT0四位数据线。例如&#xff0c;传输512字节的数据&#xff0c;传输的数据格式如下图所示&#xff1a; 二、读写命令 读写分为…

ubuntu14.04 64bit主机下面安装android的NDK开发环境

通过wget工具下载bin包&#xff1a; $ wget -c http://dl.google.com/android/ndk/android-ndk-r10e-linux-x86_64.bin1 2&#xff0c;因为下载下来的是bin包&#xff0c;所以可以直接移动到需要安装的目录下面。 将Android NDK bin包移动到你想要的目录下,如 /opt/NDK/1 $ …