Visual Stdio的使用(C语言)

一、新建

1. vs中设定的项目组成:

在这里插入图片描述
解决方案(.sln文件):是总项目名称,也就是打开的时候去打开这个文件,在项目文件夹里
项目(.vcxproj文件):暂时理解为封装之后的部分功能,例如:UIL,DAL,BLL的三层架构,每一层都用一个项目来装。这里也是分为可执行文件和动态链接库什么的不同功能的部分。

2.新建项目(这里以C语言为例)

过程中注意观察源文件夹中每一步都生成什么了
(1)文件—>新建—>项目
(2)选择语言:这里选择Visual C++—>windows控制台应用程序(下面的解决方案名称是总项目名称,就是.sln文件的名字,名称是项目名称(如上所述.vcxproj文件))
1-2.1
点击下一步,进一步设置
1-2.2
之后选择空项目,取消安全开发生命周期(SML)检查
1-2.3
进入项目内部
1-2.4
(3)源代码在项目(如:test1)下的右击“源文件”—>添加—>新建项(下面名称中设置名字和代码类别.cpp 或者.c,这里我设置为test1_1.c)(图1)
头文件:你也可以右击“头文件”—>添加—>头文件
多个项目:右击解决方案—>添加—>新建项目之后如2.(2)(图2)
到这里这个vs的功能分配雏形已经显现出来了。
}1-2.6
1-2.7

二、编译使用

1.编译(生成)

(1)对单个项目进行生成(在这里源代码不能脱离项目进行运行)

在这里插入图片描述
(2)对整个解决方案进行生成(一个解决方案下有很多的项目,全部进行生成)
在这里插入图片描述

2.调试

(1)逐步运行

可以直接按F11进行逐句的调试
在这里插入图片描述

(2)设置断点

在图最左面有一部分灰色的框,在里面点击一下就会出现红色的断点,然后F5运行之后他就会停在你的断点处,接着你可以F11进行继续逐句运行。
数据断点参考链接:[vs2015 中的数据断点]
数据断点能有效的检测对象数据的变化。当一个复杂程序(或者多线程中)有很多地方都可能改变某一个对象的值,如果一个对象被莫名更改而不知道是哪里对其做了修改,那么数据断点就派上用场了。数据断点创建后当程序修改此对象时程序就会中断运行,方便开发人员找到修改对象的代码位置。 设置数据断点 在含有此对象的代码处打上普通断点,程序运行到此后 Debug->New breakpoint->data breakpoint在地址处输入对象的地址或者&对象名 如果32位程序地址长度就是4字节,64位程序地址长度改为8字节。点击OK 然后继续run就好了。程序会在对象被改变的代码处自动break。
在这里插入图片描述

3.运行

最好是在生成(编译)之后进行运行,也可以直接运行就是编译运行都在一起了。
(1)点击“本地Windows调试器”运行。
(2)F5
(3)“调试”->“启动调试”(最好的)

四、部分功能

1.快捷键

在“工具”—>“选项”—>“键盘”中可以进行设置查看快捷键
(1)选定内容注释:Ctrl+K,Ctrl+C
(2)取消选定内容注释:Ctrl+K,Ctrl+U

五、遇到的问题

1.fflush(stdin)问题

清空缓冲区函数fflush(stdin)主要用于从键盘输入以后接下来需要再次从键盘输入并读取字符,因为上次输入以回车结束’,\n’还保留在缓冲区,因此在下一次使用scanf()或者getchar()来读取的话会把‘\n’读入,因此需要清理缓冲区域。
但是fflush(stdin)在VC6环境能够正常使用,其他编译器不保证可行,VS2017就用不了。
*解决方法
可以使用rewind(stdin)函数来清空缓冲区。

2.自定义头文件无法调用

遇到的问题背景是,在源文件中添加现有项du.h,然后再源文件的.c文件中直接想要引入#include"du.h"
问题是这里没有规定路径所以默认是引入当前项目文件夹中的文件,但是软件在当前文件夹又找不到du.h文件。
*解决办法:
将想要引入的文件复制到当前文件夹。
或者加上路径名:这样太麻烦了啦,我就直接敲喽

#include"H:\C语言\C程序设计\第六章\C程序设计第六章\6.6(2)\du.h"
发布了18 篇原创文章 · 获赞 1 · 访问量 992

猜你喜欢

转载自blog.csdn.net/weixin_43773038/article/details/103457044