Visual Studio的使用

1. 关于VS的使用

1.1 创建工程编写代码

#include <stdio.h>
#include <stdlib.h>
int main()
{  
  printf("hello world");
  system("pause");
  return 0;
}

选择空项目


项目是空的,我们需要添加一个文件,用来写代码:


添加一个文件,用于写代码

1.2 编译程序

1.2.1 设置编译选项

程序有两个版本,debug(调试版本) 和 release(发行版本),

  • 学习的过程中,通常是 debug,方便调试
  • 发行的时候,通常是 release,方便减小程序的体积,进行代码优化

程序的运行平台,x86,x64

  • x86 的32 位操作系统下运行的程序,64位系统兼容32位程序
  • x64 是64 位操作系统下运行的程序,32位系统不能运行这种程序
  • 在学习的过程中,如果不特殊指定64位,那么通常就是说的 x86 的程序

1.2.2 右键----》生成 仅编译

1.2.3 编译+调试运行

快捷键:F5

1.2.4 编译+直接运行

快捷键:ctrl+F5

调试运行 与直接运行的区别:

调试运行的话,VS对于程序是有控制能力的

直接运行,VS对于程序是没有任何控制能力的

1.2.5 编译失败

当写的代码有问题的时候,编译就有可能失败,VS会提示我们哪里有错误

1.3 VS的工程管理结构

一个解决方案,下面可以有多个项目,每一个项目中,可以有多个 源文件。

  • 项目之间是相互独立的
  • 同一个项目中的 源文件是相互影响的

解决方案:

工程1(项目1)

  • 源代码文件1

  • 源代码文件2

  • 源代码文件3

工程2(项目2)

  • 源代码文件1

  • 源代码文件2

  • 源代码文件3

工程3(项目3)

  • 源代码文件1

  • 源代码文件2

  • 源代码文件3

工程4(项目4)

  • 源代码文件1

  • 源代码文件2

  • 源代码文件3

每一个工程,都是一个独立的程序,相互之间可以没有任何关系。

每一个工程可以有很多的源文件。属于同一个工程下的这些源文件是关系的。他们相互配合组成一个项目,组成一个程序。编译的时候,同一个工程的内的所有源文件是一起编译的。

1.4 添加项目

添加完工程之后,如果想要让新的工程是默认工程,需要设置一下

1.5 寻找关闭的窗口

2. C/C++程序工程管理的问题

2.1 基本的使用

一个正常的工程,应该是由多个文件所组成的。

MyMath.h

#pragma once
int GetMax(int n1, int n2);
extern int g_nNum;

MyMath.cpp

int g_nNum = 100;

//实现一个函数,代替下面的代码
//获得两个整型的较大值
int GetMax(int n1, int n2)
{
	if (n1 > n2)
	{
		return n1;
	}
	else
	{
		return n2;
	}
}

MyString.h

#pragma once
int GetLenth(char Name[20]);

MyString.cpp

int GetLenth(char Name[20])
{
	int nLenth = 0;
	while (Name[nLenth] != 0)
	{
		nLenth++;
	}

	return nLenth;
}

在使用这些函数的地方,去包含相应的头文件

#include <stdio.h>
#include <stdlib.h>

//在这里写上声明,就可以使用了。
//但是通常我们都不会自己写声明,有两点原因:
//1. 写声明过于麻烦
//2. 这个文件提供哪些函数给别人使用,编写这些函数的人最为清楚
//   所以谁实现的这些函数,谁就应该提供声明。

#include "MyMath.h"
#include "MyString.h"

int main()
{
	int nScore1 = 10;
	int nScore2 = 20;
	char buf[20] = { "xiaoming" };
	int nMax = GetMax(nScore1, nScore2);
	int nLenth = GetLenth(buf);
	printf("全局变量的值为%d", g_nNum);
	return 0;
}

2.2 需要注意的问题

  1. .h文件中 只能写声明,不能写定义,否则容易出问题
  2. 如果发现了这样的错误

就是声明和定义 不匹配。或者 有声明,但是没写定义。

  1. 如果一个文件中的函数或者全局变量,不想给其他文件用,可以声明为 static
//在函数的前面加上 static  这个函数就只能在
//本文件中使用了。
static int Fun(int n1)
{

}
  1. 如果学习内核的话,需要SDK与WDK版本一致。当不一致的时候,即使预处理正确,库定义的东西也标红。

    图片来源:火哥内核


VS旧版本安装:

MSDN, 我告诉你 - 做一个安静的工具站

VS官网:(需要登录微软账户):

Visual Studio 旧版下载 - 2019、2017、2015

posted @ 2025-06-14 19:44  Loomingsafe  阅读(263)  评论(0)    收藏  举报