Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/159.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Visual Studio 2015运行可执行文件的速度比命令行慢得多 我有一个相当大的C++项目,它由3个DLL和1个可执行文件组成。主可执行文件动态加载第一个DLL(loadLibrary)。此DLL通过MSVS链接器静态链接到其他2个DLL。我的团队使用git进行源代码控制。我最近遇到了一个问题,VisualStudio调试器似乎没有正确执行主程序。我做了一些测试,发现在VisualStudio中运行比从命令行运行相同的exe和DLL慢12倍_C++_Git_Visual Studio_Dll - Fatal编程技术网

Visual Studio 2015运行可执行文件的速度比命令行慢得多 我有一个相当大的C++项目,它由3个DLL和1个可执行文件组成。主可执行文件动态加载第一个DLL(loadLibrary)。此DLL通过MSVS链接器静态链接到其他2个DLL。我的团队使用git进行源代码控制。我最近遇到了一个问题,VisualStudio调试器似乎没有正确执行主程序。我做了一些测试,发现在VisualStudio中运行比从命令行运行相同的exe和DLL慢12倍

Visual Studio 2015运行可执行文件的速度比命令行慢得多 我有一个相当大的C++项目,它由3个DLL和1个可执行文件组成。主可执行文件动态加载第一个DLL(loadLibrary)。此DLL通过MSVS链接器静态链接到其他2个DLL。我的团队使用git进行源代码控制。我最近遇到了一个问题,VisualStudio调试器似乎没有正确执行主程序。我做了一些测试,发现在VisualStudio中运行比从命令行运行相同的exe和DLL慢12倍,c++,git,visual-studio,dll,C++,Git,Visual Studio,Dll,诊断工具被禁用,我已经在发布模式下构建了所有4个项目。我甚至试着重新启动我的机器,清理现金。更奇怪的是,其他团队成员正在运行相同的代码(从git存储库中提取相同的代码),但他们没有看到这一点。我们所有的机器都配置相同。有人知道这可能是什么原因吗?使用调试器运行任何代码都会导致明显的速度差异。在不使用调试器的情况下运行代码。如果在上使用优化进行编译,但在IDE下运行,则应禁用调试堆。这在IDE中是一个单独的设置,速度会慢很多,因为new和delete调用堆栈损坏检查。从命令行运行时不会发生这种情况

诊断工具被禁用,我已经在发布模式下构建了所有4个项目。我甚至试着重新启动我的机器,清理现金。更奇怪的是,其他团队成员正在运行相同的代码(从git存储库中提取相同的代码),但他们没有看到这一点。我们所有的机器都配置相同。有人知道这可能是什么原因吗?

使用调试器运行任何代码都会导致明显的速度差异。在不使用调试器的情况下运行代码。如果在上使用优化进行编译,但在IDE下运行,则应禁用调试堆。这在IDE中是一个单独的设置,速度会慢很多,因为
new
delete
调用堆栈损坏检查。从命令行运行时不会发生这种情况。OTOH,如果你禁用它,你可能不会在你的代码中发现指针错误。也许我不清楚。我知道会对性能产生一些影响,但不会有这么大的影响。正如我提到的,在此之前,我已经在VS中运行了数月。我的团队的其他成员在VS中运行,没有看到这种减速。因为“其他团队成员正在运行相同的代码(从git存储库中提取的相同代码),而他们没有看到这种情况”,很可能是您以某种方式打乱了构建过程,或者没有实际运行您认为正在运行的二进制文件。谢谢Doug,我将尝试一下