
Visual Studio
文章平均质量分 53
VS相关知识
xupeng1644
道阻且长,行则将至!
展开
-
GCC、VS对C++标准的支持情况总结(转载)
版权声明:本文为优快云博主「Captain–Jack」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。原文链接:https://blog.youkuaiyun.com/u010977122/article/details/100708274C++语言标准目前C++语言的标准有:C++98C++03 - 对98小幅修改`C++11 - 全面进化C++14C++17GCC的支持情况GCC编译器对不同的C++标准的支持情况:(高版本的gcc向下兼容,支持低版本的.转载 2021-08-05 10:29:46 · 3655 阅读 · 0 评论 -
VC预定义常量WIN32、_WIN32、_WIN64分析(转载)
MSDN 里说,VC有3个预处理常量,分别是 _WIN32,_WIN64,WIN32。这三个常量如何使用呢?看起来简单,其实是很困惑的。在 Win32 配置下,WIN32在“项目属性-C/C+±预处理器-预处理器定义”里声明了,而在 x64 配置下,这个常量并不在项目预定义列表中。这是否说明可以根据 WIN32 来判断是否在 x64 平台呢?不。在 Windows SDK的minwindef.h下第37行有如下定义:#ifndef WIN32 #define WIN32#endif即是说,转载 2021-06-16 11:25:56 · 1217 阅读 · 0 评论 -
分布式编译IncrediBuild 安装使用(转载)
简介IncrediBuild是分布式编译(多线程处理)技术,我们也称之为联合编译。如果局域网内存在多台电脑安装了这个,在编译C/C++时,它会使用空闲的CPU一起编译,大大缩短了编译的时间,对于大工程来说,是一件非常爽的事情。IncrediBuild分为服务端(Coordinator)和客户端(Agent)。简单的理解是服务端是协调任务的分配,客户端把分到手的任务编译后再返还回去。注意的是,服务端只负责分配工作,即负责客户端之间P2P的操作,如果二个客户端建立好链接后,此时再与服务端断开也不会影响他们之转载 2021-06-10 11:06:42 · 11397 阅读 · 0 评论 -
Visual Studio 添加外部工具
简介Visual Studio(VS)可以通过添加外部工具来启动外部程序,VS中已经默认创建了如下的外部程序的外部工具:创建GUID(G)查找错误(K)PreEmptive Protection - DotfuscatorSpy++(+)Spy++ x64ILDasm添加外部工具在VS菜单栏中选择工具(T),然后再选择外部工具(E),弹出外部工具对话框:以添加打开Notepad++的外部工具为例,点击添加(A),填入相关参数(标题、命令、参数[如果有的话]、初始目录):点击应原创 2021-05-22 20:31:13 · 3824 阅读 · 0 评论 -
Visual Studio 常用宏
Visual Studio中,宏常常用在项目的属性配置中,比如配置输出目录、中间目录、附加包含目录、附加库目录等。我自己常用的宏包括:$(SolutionDir)解决方案路径,也即是*.sln文件所在路径$(ProjectDir)项目路径,也就是*.vcxproj文件所在路径$(ProjectName)项目名称$(Configuration)配置,Debug或者Release$(Platform)平台,Win32或者x64...原创 2021-04-15 19:11:44 · 1922 阅读 · 0 评论 -
VS中后期生成事件
在使用VS过程中,很多时候需要把需要的文件一起拷贝到编译产生的可执行程序所在目录,对此可以采用简单的后期生成事件完成,就不需要手动拷贝了。后期生成事件简单操作如下:1 打开项目属性对话框;2 如图选择后期生成事件并输入命令(bat脚本):@echo ---------------------------------@echo [$(ProjectName)]生成完成..@echo 开始复制...COPY "$(SolutionDir)CopyList.bat" "$(OutDir)" # 这里的转载 2021-04-06 14:31:19 · 2222 阅读 · 0 评论 -
内存中常见异常值的解释(0xcccccccc 0xcdcdcdcd 0xfeeefeee等)
0xcccccccc: Used by Microsoft’s C++ debugging runtime library to mark uninitialised stack memory0xcdcdcdcd: Used by Microsoft’s C++ debugging runtime library to mark uninitialised heap memory0xfeeefeee :Used by Microsoft’s HeapFree() to mark freed ..转载 2020-09-10 10:03:16 · 3505 阅读 · 0 评论 -
VS中的多线程(/MT)、多线程调试(/MTd)、多线程DLL(/MD)、多线程调试DLL(/MDd)的区别
一种语言的开发环境往往会附带有语言库,这些库就是对操作系统的API的包装,我们也称这些语言库为运行库对于MSVC的运行库(CRT),按照静态/动态链接,可以分为静态版和动态版;按照调试/发布,可以分为调试版本和发布版本;按照单线程/多线程,可以分为单线程版本和多线程版本(但是目前VS中已不提供单线程版本了)在调试模式下,使用调试运行库:多线程调试(/MTd)、多线程调试DLL(/MDd)在发...转载 2020-03-23 21:38:43 · 4914 阅读 · 0 评论 -
0xC0000005: 读取位置 xxx时发生访问冲突
Bjarne Stroustrup老爷子说过:“C makes it easy to shoot yourself in the foot; C++ makes it harder, but when you do it blows your whole leg off.”最近的工程时不时的出现0xC0000005: 读取位置 xxx时发生访问冲突,导致崩溃。先看看下面的程序:#inc...转载 2019-12-11 10:55:31 · 6966 阅读 · 0 评论 -
VS运行时错误 CRT detected that the application wrote to memory after end of heap buffer
报错信息为:是在delete new出的数组时产生的。报错原因也很明显,是对new出的数组进行了越界处理。原创 2019-11-29 09:58:59 · 1946 阅读 · 0 评论 -
C++ 预编译头文件stdafx.h
什么是预编译头预编译头(precompiled header)是程序设计时把头文件编译为中间格式,以节约在开发过程中编译器反复编译该头文件的开销。——来自《维基百科》可见预编译头的意义就是:防止反复编译某一个头文件。为何会有预编译头比如有的头文件包含了巨量的源代码(比如windows.h),如果每一个cpp都包含这个头文件,那么就会导致编译过程非常慢,因为不仅大,而且还要被编译多次。于...转载 2019-11-21 11:34:22 · 3244 阅读 · 0 评论 -
VS error C3867: 非标准语法;请使用 "&" 来创建指向成员的指针
代码片段如下:void GameWeapon::GetMsgWeaponSkillData(MSG_L2C_NOTIFY_WEAPON_SKILL_DATA& msg){ for (int idx = 0; idx < m_data.skilldatas_size(); ++idx) { const auto& curData = m_data.skilldata...原创 2019-11-13 13:21:12 · 8428 阅读 · 0 评论 -
VS2015 更换exe的图标
大家知道,用VS生成exe时,得到的exe是默认图标,很丑,当然可以将exe的图标更换为自己喜欢的图标。 第一步:在百度搜索“在线ICO”,将你喜欢的图片转换为*.ICO格式,得到ICO文件。 第二步:在工程项目中找到“资源文件”这个项目, 右键“资源文件”,点击添加->资源。 注意,添加的是资源,不是现有项(刚开始我就是添加的“现有项“,这样就无法更换图标)。 第三步:重...转载 2019-11-07 16:39:53 · 2639 阅读 · 0 评论 -
VS2015 ASSERT(false)直接退出不弹出Assert failed对话框的解决方法
这个问题困扰了我很久,最终是雨哥找到的,再次表示感谢!!!设置方法:代码中添加_set_error_mode(_OUT_TO_MSGBOX);然后设置运行库为多线程调试(/MTd)参考资料:C++ _wassert not popping up the assert dialog box...原创 2019-11-05 13:31:12 · 2863 阅读 · 0 评论 -
VS2015 关闭错误列表
工具->选项->项目与解决方案->常规也可以关闭输出窗口原创 2019-10-29 11:43:04 · 2956 阅读 · 0 评论 -
VS2015 设置结构成员对齐
原创 2019-10-22 13:33:51 · 3139 阅读 · 0 评论 -
VS2015 fatal error C1010: 在查找预编译头时遇到意外的文件结尾。是否忘记了向源中添加“#include “stdafx.h”"
fatal error C1010: 在查找预编译头时遇到意外的文件结尾。是否忘记了向源中添加“#include “stdafx.h”"在工程中添加现有文件时报的错误,尽管已经在cpp文件的第一行加上了“#include “stdafx.h”" ,编译的时候还是报错。最终的解决方法是:所有新加的cpp文件,右键属性-> C/C++ -> 预编译头,选择“不使用预编译头”。...原创 2019-10-21 17:23:42 · 2439 阅读 · 0 评论 -
VS2015 优化选项的开启
点击项目->属性-> C/C+±>优化。默认为已禁用(/Od)。其他选项有:使大小最小化(/O1)使速度最大话(/O2)完全优化(/Ox)开启优化可能带来副作用:本地变量(可被优化器移除或移动到调试器无法识别的位置)。函数内部的位置(当优化器合并代码块时发生变化的位置)。调用堆栈上框架的函数名称(如果优化器合并两个函数,则函数名称可能是错误的)。但是,假定所...原创 2019-10-21 12:09:47 · 6277 阅读 · 1 评论 -
VS2015 设置项目依赖项
一个解决方案中,通过都包含数个工程。如果生成解决方案时,各个工程间存在依赖关系,例如:Game依赖于Engine静态库,可以通过如下设置:右键解决方案, 单击属性, 打开解决方案属性页界面按照实际需求设置即可。...原创 2019-10-12 15:55:46 · 3487 阅读 · 0 评论 -
VS2015 error C4146: 一元负运算符应用于无符号类型,结果仍为无符号类型
VS编译protobuf时,出现error C4146: 一元负运算符应用于无符号类型,结果仍为无符号类型。解决办法——关闭SDL检查右键选中要配置的属性的项目->配置属性->C/C+±>SDL检查,选择否,如下图所示...原创 2019-09-29 15:05:52 · 791 阅读 · 0 评论 -
VS2015 编译Protobuf
protobuf的编译和使用,在windows平台上 0 准备工作 (1)下载protobufhttps://github.com/google/protobuf/releases下载的是cpp版本,选择当前最新版本即可(2)安装cmakehttps://cma...转载 2019-09-29 15:24:34 · 824 阅读 · 0 评论 -
VS2015 编译boost
步骤:第一步:在boost官网下载boost压缩包。第二步:解压缩压缩包,执行bootstrap.bat,生成b2.exe和bjam.exe(他们只是版本不同的产物,但是用法一致,bjam是之前版本的,b2 是最新的)。第三步:编译前提示:命令:b2.exe --helpb2.exe --show-libraries编译命令参数:stage/install:stage 表...原创 2019-10-08 10:36:04 · 873 阅读 · 0 评论 -
VS2015 包含目录、库目录、附加包含目录、附加库目录、附加依赖项之详解
包含目录、库目录、附加包含目录、附加库目录、附加依赖项之详解 ...转载 2019-10-08 14:09:06 · 2091 阅读 · 0 评论 -
VS2015 输出目录、中间目录、目标文件名、工作目录
输出目录默认为:$(SolutionDir)$(Platform)$(Configuration)即为C:\Users\xupen\Desktop\TestForEverything\x64\Debug$(SolutionDir)为解决方案目录$(Platform)平台x64$(Configuration)为配置版本Debug中间目录默认为:$(Platform)$(Configur...原创 2019-10-11 17:07:23 · 5160 阅读 · 2 评论 -
VS2015 LINK : warning LNK4068: 未指定 /MACHINE;默认设置为 X86
修改方法:在工程属性中,选择 配置属性-》库管理器-》命令行,在下面的其他选项中输入:/MACHINE:X64原创 2019-09-25 14:47:03 · 3378 阅读 · 1 评论