visual-c++相关内容
我正在 Visual Studio 2011 中处理 Win32 项目.当我包含 afx.h 或 afxwin.h 时,它会生成 MFC 错误.为了解决这个问题,我在项目属性选项卡中进行了以下更改:1)MFC的使用:在共享DLL中使用MFC2) C++ -> 代码生成 -> 运行库 -> 多线程调试DLL(/MDd) 当我构建解决方案时它仍然给我以下错误: 1>C:\Program F
..
我正在使用 Visual Studio 2005.我创建了一个基于 MFC 的控制台应用程序,名为“StdAfx 依赖".IDE 为我创建了以下文件. 资源.h StdAfx Dependancy.h stdafx.h StdAfx Dependancy.cpp stdafx.cpp 我用 Helper.h 和 Helper.cpp 添加了另一个类 CHelper,如下所示.
..
我遇到了奇怪的崩溃.我想知道这是否是我的代码或编译器中的错误.当我使用 Microsoft Visual Studio 2010 编译以下 C++ 代码作为优化版本构建时,它在标记的行中崩溃: struct tup { int x;整数y;};C类{上市:结构 tup* p;struct tup* operator--() { return --p;}struct tup* operator++
..
有没有办法在应用程序崩溃时(在 Windows 操作系统上)自动创建崩溃转储文件,就像我可以使用附加的 Visual Studio 调试器保存一样?也就是说,我希望能够使用自动创建的故障转储文件在 Visual Studio 中调试我的应用程序. 解决方案 更新: Debug Diag 2.0 现已推出.此版本具有对 .NET 转储的本机支持. 是的,可以使用 DebugDiag 1
..
我的应用程序在初始化时崩溃的测试仪出现问题.我添加了更多的日志记录和异常处理,但它仍然崩溃并显示通用的“此程序已停止工作"消息,而不是触发我的错误处理. 鉴于我的 main() 看起来像这样并且有 catch(...) 在什么情况下不会触发? 尝试{simed::CARmApp 应用程序(0,cmd);for(bool done = false;!done;){完成 = !app.fram
..
我无法让 Visual C++ 可执行文件工作,应用程序崩溃,这是我在事件查看器中看到的. 错误应用程序名称:submit.exe,版本:0.0.0.0,时间戳:0x50a3cce7错误模块名称:ntdll.dll,版本:6.1.7601.17514,时间戳:0x4ce7ba58异常代码:0xc0000374故障偏移:0x000ce653错误进程ID:0x8fc错误应用程序启动时间:0x01cd
..
我正在尝试分析我的 c++ dll,但分析器无法与我一起使用.我想查看调用树等等,但只有 stl 函数显示,而且并非全部不相交 - 当我点击任何函数时,它们的调用者是“[broken]". 我不知道我的 google 技能是否不够,但我找不到任何关于 [broken] 意味着什么以及如何修复它的信息. 这是一个调试版本.我不能保证这不是由于某些编译器设置造成的,但我觉得我什么都试过了.
..
TL;DR - MS 文档指出 VS2015 和 VS2017 库之间的二进制兼容性是单向,而我认为它必然是双向的.问题在哪里? 首先,背景: 任何 MSVC++ 构建的库都是 在 VS2015 和 VS2017 之间正式二进制兼容. 具体来说,您可以将 VS2015 C++ 应用程序与 2017 年的 MSVCRT140 版本一起使用.(VCRedist 向后兼容) 官方文档网站
..
刚刚使用 MSVS 2017 和 Qt5.9.1 配置了新的 windows 环境. 在构建示例项目时 bars 遇到错误 项目错误:无法运行编译器“cl".也许你忘了设置环境? 使用 mingw 构建并运行良好. 我尝试在 qmake 之前添加 自定义构建步骤 “C:\Program Files (x86)\Microsoft Visual Studio\2017\Profess
..
所以我昨天安装了 Visual Studio 2017.我还安装了支持 VS 2017 的 CMake 3.7.2. 我的 VS 安装是使用 Game development with C++ 工作流程 + 一些其他组件: 我还添加了 CMake 的东西(但我认为我什至不需要它 - 因为我使用 CMake 作为独立工具来生成 VS 解决方案)和 MSBuild(我有 msbuild.e
..
Visual Studio 2017 带有完整的 CMake 集成.为了了解这种组合,我从这个基本示例开始: # CMakeLists.txtcmake_minimum_required(版本 3.8)项目(富)add_executable(foo foo.cpp) 和 //foo.cppint main() {} 这会正确生成构建脚本,并且可以毫无问题地编译和链接.这很容易. 另一
..
Steve 告诉我 VC 2015 和 VC 2017 实际上(将)二进制兼容. 我发现 零 信息 wrt.这在 2017 (RC) 发行说明 - 或漂亮在任何地方都可以,所以这里是: 是用VC++-2017 二进制兼容 VC++-2015 构建的 DLL? 2017 年和 2015 年是否使用相同(动态)运行时库? 如果是,那么平台工具集 Visual Studio 2017 (
..
有没有办法在 windows 执行删除之前检测文件的删除?我找到了 FileSystemWatcher 类,但仅在执行删除操作后才引发事件,但我想在用户/进程选择删除它时捕获删除操作.您可以监视文件系统表,但要寻找更好的方法.感谢您的帮助. 解决方案 我认为最简单的方法是使用钩子来获得通知(并最终停止)进程.它不能在 .NET 中完成,因此您必须 DllImport 大量结构和少量函数来
..
gcc 确实支持使用 ## __VA_ARGS__ 约定的零参数的参数计数宏.以下作品用 gcc 编译: #include #define NARGS(...) __NARGS(0, ## __VA_ARGS__, 5,4,3,2,1,0)#define __NARGS(_0,_1,_2,_3,_4,_5,N,...) N主函数(){printf("%d\n", NARGS()
..
我正在处理的代码使用了一些非常复杂的宏 voodoo 来生成代码,但最终有一个看起来像这样的构造 #define ARGS 1,2,3#define MACROFUNC_OUTER(PARAMS) MACROFUNC_INNER(PARAMS)#define MACROFUNC_INNER(A,B,C) A + B + Cint a = MACROFUNC_OUTER(ARGS); 期望得到的
..
有宏吗?要使用哪些 DTE 对象? 解决方案 (这不是你想要的,但差不多:) 您可以在 Visual Studio 中的类的每个成员函数上设置断点,方法是调出 New Breakpoint 对话框并输入: CMyClass::* 参见 http://blogs.msdn.com/b/habibh/archive/2009/09/10/class-breakpoint-how-to
..
Visual C++ 10 附带 stdlib.h,其中包含此 gem: 模板char (*__countof_helper(UNALIGNED _CountofType (&_Array)[_SizeOfArray]))[_SizeOfArray];#define _countof(_Array) (siz
..
我经常在我的#defines 中使用 do-while(0) 构造,原因描述为 在这个答案中.此外,我正在尝试使用编译器的尽可能高的警告级别来捕捉更多潜在问题,并使我的代码更加健壮和跨平台.所以我通常将 -Wall 与 gcc 和 /Wall 与 MSVC 一起使用. 不幸的是,MSVC 抱怨 do-while(0) 构造: foo.c(36) : 警告 C4127: 条件表达式是常量
..
我要做的是#define一个宏: #define a(2) 然后在字符串文字中使用它:string = "a";. 我希望该字符串不被解释为字符串,而是获取 a 的值,即 2.我没有成功,有人可以帮忙吗? 解决方案 #define STRINGIFY2(X) #X#define STRINGIFY(X) STRINGIFY2(X)#定义A 2 然后 STRINGIFY(A) 会
..
在:C++ FAQ - 其他技术问题 - [39.6] 需要将两个标记粘贴在一起的宏应该怎么做? 谁能解释一下为什么?我读到的只是相信我,但我不能仅仅因为有人这么说就相信某事. 我尝试了该方法,但找不到任何出现的错误: #define mymacro(a) int a ## __LINE__我的宏(前缀)= 5;mymacro(__LINE__) = 5;int test = pre
..