Visual Studio

快捷键

CTRL + Shift + u 小写变大写
CTRL + u 大写变小写
CTRL + F5 运行不调试
AIT + F12 定义函数加载到当前界面
Shift + Alt + Enter 切换全屏编辑

命令行参数

项目 --> 右键 --> 属性 --> 配置属性 --> 调试
在这里插入图片描述

工作目录

$(ProjectDir),程序当前所在目录;工程配置文件xxx.vcproj所在目录

显示行号

菜单栏:工具 --> 选项 --> 文本编辑器 --> C/C++ --> 行号
显示行号

设置tab为4个空格

1.设置新输入的Tab替换为4个空格
工具–>选项–>文本编辑器–>所有语言–>制表符
2.在之前编辑好的内容中Tab替换为4个空格
Tab转义字符为“\t”,替换为4个空格。选择最下面一行的“使用正则表达式”。
在这里插入图片描述

输出目录

项目 --> 右键 --> 属性 --> 配置属性 --> 常规
输出目录:$(OutDir), 更改输出目录的位置后,$(OutDir)的位置为更改后输出目录的位置,会影响输出文件的位置

项目 --> 右键 --> 属性 --> 配置属性 --> 链接器 --> 输出文件(可执行文件(.exe)的生成位置)
= $(OutDir)$(TargetName)$(TargetExt)

中间目录:编译器

多处理器编译

项目 --> 右键 --> 属性 --> 配置属性 --> C/C++
在这里插入图片描述

error

'scanf': This function or variable may be unsafe. Consider using scanf_s
项目 -> 右键 -> 属性 -> 配置属性 -> C/C++ -> 预处理器,添加_CRT_SECURE_NO_DEPRECATE

scanf_error
后期生成事件
在生成可执行程序exe后,可以调用命令。
项目–>右键–>属性–>配置属性–>生成事件–>后期生成事件
在这里插入图片描述

调试

1.查看变量m_pcData(uint16_t * )值:m_pcData,su
2.条件变量
在这里插入图片描述

动态库的生成与使用

静态链接库包括两个文件:
1 .h头文件,包含静态链接库中说明输出的类或符号原型或数据结构。
应用程序调用静态链接库时,需要将该文件包含入应用程序的源文件中。
2 .lib文件,索引和实现都在其中。放到固定位置,在应用程序中添加库目录,在附加依赖项中进行添加。
动态链接库包括三个文件:
1 .h头文件,包含动态链接库中说明输出的类或符号原型或数据结构。
应用程序调用动态链接库时,需要将该文件包含入应用程序的源文件中。
2 .lib文件,动态链接库在编译、链接成功之后生成的文件,一般是一些索引信息,记录了.dll中函数的入口和位置。
作用是当其他应用程序调用.dll时,需要将该文件引入应用程序,否则产生错误。
如果不用.lib文件,可以用WIN32 API函数LoadLibrary、GetProcAddress装载。
3 .dll文件,函数的实现。应用程序使用.lib文件链接到.dll文件。可执行文件中,存放的不是被调用的函数代码,
而是.dll中相应函数代码的地址,从而节省了内存资源。

静态库的创建

1. 新建项目:模板-Visual C++-Win32-Win32 控制台应用程序  点击下一步-选择静态库
2. //test_lib.cpp
#include<stdio.h>
#include "test_lib.h"
int test()
{
    printf("test\n");
    return 0;
}
//test_lib.h
#pragma once
int test();

静态库的调用

1.cpp文件中包含此头文件
2.在工程属性/VC++目录/库目录中添加lib库所在目录
3.在工程属性/链接器/输入/附加依赖库中添加此库的文件名.lib,
  或在调用此库的.cpp文件中添加#pragma comment(lib, “.lib”);

动态库的创建

1.创建项目前设置
新建项目:模板--> Visual C++ --> Win32 -> Win32 控制台应用程序,点击下一步, 选择DLL和空项目
2.生成项目时设置
vs配置中设置
项目文件及代码
//test_dll.h
#pragma once
__declspec(dllexport) int test();

//test_dll.cpp
#include <stdio.h>
#include "test_dll.h"
int test()
{
	printf("test\n");
	return 0;
}
3.因为有_declspec(dllexport)所以生成了.dll和.lib文件,如果没有_declspec(dllexport)只生成dll

__declspec

__declspec(dllexport)__declspec(dllimport)都是DLL内的关键字(导出与导入),
将DLL内部的类与函数以及数据导出与导入时使用。
dllexport: 在类、函数及数据的声明时使用,表明这可以被外部函数使用;
dllimport: 在外部程序使用DLL数据时使用,把相关代码插入到应用程序中。
当外部程序要使用DLL内部代码(/函数)时,只需在程序内部使用dllimport声明需要使用的代码。

导出类中的成员函数Function: __declspec(dllexport) void Function();
导出类中的所有公共数据成员和成员函数: class __declspec(dllexport) A : public CObject

动态库的调用

显示调用:
1.lib和.h文件不用。
2..dll文件放到指定目录。
3.修改.cpp文件如下
#include <stdio.h>
#include <windows.h>
typedef void (*DLLFunc)(int);
int main()
{
	DLLFunc dllFunc;
    HINSTANCE hInstLibrary = LoadLibrary("*.dll");
    // hdll=LoadLibraryEx("*.dll", NULL, LOAD_WITH_ALTERED_SEARCH_PATH);
    //若dll库中有其他dll的调用,就换用上述语句。
    dllFunc = (DLLFunc)GetProcAddress(hInstLibrary, "test");
    //TestDLL是DLL库里定义的方法
    dllFunc(123);
    FreeLibrary(hInstLibrary);
    return 0;
}

隐式调用:
//1.lib和.h的使用如静态库的调用。
//2.将.dll文件放到指定目录。
1.添加工程的头文件目录:工程属性-->配置属性-->c/c++-->常规-->附加包含目录:加上头文件所在目录
2.添加工程引用的lib静态库路径:工程属性-->配置属性-->链接器-->常规-->附加库目录:加上lib文件所在目录
  添加工程引用的lib文件名:工程属性-->配置属性-->链接器-->输入-->附加依赖项:加上lib文件名
3.添加工程引用的dll动态库:把.dll动态库放到可执行文件所在的目录
4.cpp文件包含test_dll.h

附加到进程

1.运行进程test.exe (windows)
2.vs打开工程文件,添加断点,debug -> Attach to Process, 找到需调试进程test.exe
在这里插入图片描述
3.如下图,会将test.exe进程断到第15行
在这里插入图片描述
1.运行进程navStartup (linux)
2.安装“使用c++的Linux开发”
在这里插入图片描述
3.vs打开工程文件,添加断点,debug -> Attach to Process, 找到需调试进程
在这里插入图片描述在这里插入图片描述

安装番茄助手

Visual Assist X 10.9 builds 2333
之前安装旧版,安装新版后会导致vs无法正常打卡。
解决方法:
更新注册表HKEY_CURRENT_USER\Software\Licenses
导出之前的数据备份后删除,导入new.reg文件即可。

统一格式化代码

确保开发代码的规范性:空格、换行、缩进等。
安装:
1工具 -> 扩展和更新,搜astyle插件,下载安装重启
2工具 -> 选项 -> AStyle Formatter -> Edit 填入下面的,点击save,确定

--style=allman --indent=spaces=4 --min-conditional-indent=0 --align-pointer=type --indent-switches --break-blocks --pad-oper --pad-header --convert-tabs --mode=c

在这里插入图片描述

配置项说明
--indent=spaces=4     #行缩进用4个空格
--indent-switches     #switch与case不同列,case缩进
--indent-cases        #缩进case下面的语句
--break-blocks        #空行分隔无关块
--delete-empty-lines  #删除多余空行
--pad-oper            #操作符两端出入空格
--unpad-paren         #移除括号两端多余空格
--convert-tabs        #tab转空格

安装

vs2017 professional SN : KBJFW-NXHK6-W4WJM-CRMQB-G3CDH
vs2015 professional SN : HMGNV-WCYXV-X7G9W-YCX63-B98R2
Microsoft Visual Studio Ultimate 2013 (简体中文旗舰版)
文件名 : cn_visual_studio_ultimate_2013_x86_dvd_3009109.iso 或 VS2013_RTM_ULT_CHS.iso
下载地址 : http://download.microsoft.com/download/0/7/5/0755898A-ED1B-4E11-BC04-6B9B7D82B1E4/VS2013_RTM_ULT_CHS.iso
SN : BWG7X-J98B3-W34RT-33B3R-JVYW9
  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

春夏与冬

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值