问题标签 [visual-c++-2015]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
4 回答
33114 浏览

visual-c++ - 如何检测是否安装了 Visual C++ 2017 Redistributable

随着 Microsoft 在其最新版本中更改注册表项的模式,我如何检测机器上是否安装了 Visual C++ 2017 Redistributable?

我的目标是安装 VC++2015Redist,因为该软件是使用 VS2015 编写的。如果我可以在机器上成功检测到 VC++2017Redist,那么我会跳过安装 VC++2015Redist

0 投票
0 回答
1208 浏览

visual-c++ - 使用次要版本检查 Visual C++ Redistributable 2017 vs 2015

我们的应用程序通过使用(对于 2010 版本)查看 Installed Registy 密钥来检查 Visual C++ 可再发行组件的已安装版本:

我需要扩展对 Visual C++ redistributable 2017 的检查,并且我需要能够将它与 2015 版本区分开来。但是,这两个版本都在 ...\VisualStudio\14.0\VC\... 下,所以我需要更改要检查的键。

我想我可以查看提供已安装可再发行组件的次要版本的次要密钥。但我没有详尽的清单列出哪个次要版本属于 2015/2017 年。我知道次要版本 0 是 2015 年,11 是 2017 年,但我不知道是否有更多次要版本发布。如果有,我想知道哪个次要版本是 2015 年和 2017 年之间的“截止”。

0 投票
0 回答
190 浏览

c++ - 在没有 MSVC 2015 中涉及的预处理器的情况下动态创建 DLL 导出函数?

__declspec(dllexport)是否可以在没有 MSVC 2015 中涉及的预处理器的情况下动态创建'ed 函数?

我正在为某种测量软件创建一个 DLL插件创建工具包,并希望使以后的客户端程序员能够在 中的插件中添加某种“额外功能” DllMain,例如:

对于每个这样的addDriver调用,DLL 稍后必须提供一个回调函数,其名称可以自由选择。主应用程序期望在另一个回调中通过请求传递这些函数的名称。

那么,在没有's 和其他东西的情况下extern "C"动态生成这些函数的“最佳实践”是什么?#define

也许某种Lambda方式?

编辑:我想我忘了提到它是一种商业上可用的测量软件,我正在为此编写 PDK。它是一个固定接口(也是一个相当复杂的接口),由应用程序硬编码和预期的函数名称组成,用于一般回调。只有特定的回调期望某些函数名称调用与此处相关的测量周期。

0 投票
1 回答
608 浏览

c++ - 成员初始化器列表错误的统一初始化

我在这个 C++11 代码上遇到编译错误,但我不知道为什么。这是代码:

Visual Studio 2015 失败并出现以下错误:

错误 C2280: 'std::condition_variable::condition_variable(const std::condition_variable &)': 试图引用已删除的函数 1> c:\program files (x86)\microsoft visual studio 14.0\vc\include\mutex(550 ): 注意:见 'std::condition_variable::condition_variable' 的声明。

如果我将其更改Test constructor为不使用 C++11 统一初始化,则Struct它可以编译。

我不明白为什么Struct类型使用复制构造函数,但Class似乎还可以。它只发生在Struct具有不可复制的成员的情况下。

我还注意到,如果我在成员初始化器列表的Struct外部初始化它可以工作:Test Class

知道为什么这段代码失败了?引擎盖下发生了什么?myClass初始化和初始化有什么区别myStruct?为什么如果在类成员上使用它不会编译initializer list但我可以在外面使用它吗?我试过了GCC,似乎没问题。

0 投票
1 回答
1899 浏览

c++ - range-v3 如何操作::join with delimiter

我从 git 获得 MSVC 的 range-v3。并由 MSVC C++14 编译器编译。

考虑代码:

它按预期工作。但我想添加分隔符加入,如果我写

代码未编译。怎么了?大量编译器错误如下:

更新

不仅 MSVC 端口行为如此,这里也是如此

0 投票
1 回答
578 浏览

visual-studio - VS 2017 编译的 exe 不在 Windows 7 上运行

我已经在 Windows 7 机器上安装了 VS 2017 并构建了针对 8.1 SDK 的 C++ 项目,但二进制文件没有在 Windows 7 上启动。同样适用于 Windows Server 2016 和 Windows 10 操作系统。

我已经检查了 VC 2015 运行时是否安装在 Windows 服务器和 Windows 7 机器上。并且 Windows 8.1 SDK(作为 VS 2015 的一部分?)安装在我在 Windows 7 上运行的本地计算机上。以前,我安装了 Visual Studio 2015,并且二进制文件在 Windows 7 和 Windows 服务器上都可以正常工作。

我不确定 windows\system32 中的运行时 dll 是否由于 VS 2017 安装而损坏或更改。

PS:我注意到在运行新安装的带有 C-runtime dll 打包的 firefox 时,exe 无法启动的相同问题。

0 投票
1 回答
326 浏览

c++ - CreateFile 异常安全吗?

我正在使用 CreateFile() 打开和读取文件。如果抛出异常,文件将被关闭,还是我需要自己捕获并关闭文件。如果后者是真的,那么捕获和关闭文件的最佳方法是什么。谢谢!

0 投票
0 回答
54 浏览

ms-access - 下次单击下拉菜单时,下拉菜单中的选定项目不会突出显示

我曾尝试寻找解决方案,但无法找到解决方案。第二次单击下拉菜单时,从组合框中选择的项目没有突出显示。

示例:假设我从组合框中选择了一个名为 dog 的项目,现在当我单击下拉菜单时,控件应该在 dog 上但没有发生,相反我必须再次滚动下拉列表中的整个列表到达项目狗。

0 投票
2 回答
362 浏览

c++ - 如果模板没有可变参数,则 Lambda 被推导出为 std::function

foobar之间的唯一区别是foo具有可变参数。不知何故,编译器能够将 lambda 转换为bar中的 std::function 。

据我了解,模板类型推导不考虑类型转换。所以不应该都失败吗?

0 投票
1 回答
2033 浏览

python - Cython:缺少 MSVCR140.dll

我想用 Python 测试 Cython。当我运行时python setup.py build_ext --compiler=mingw32(我在 Windows 上使用 MSYS2 的 GCC)它告诉我cannot find -lmsvcr140(MSVCR140.dll)。从这个答案看来,自从 Visual C++2015 Redistributables 引入并被 VCRuntime140.dll 取代后,该文件似乎丢失了。我的问题是如何告诉 Cython 使用 VCRuntime.dll 来代替?