有什么理由更喜欢 运行 来自 IDE 的应用程序而不是 运行 独立的可执行文件?

Is there any reason to prefer running an application from within IDE vs running stand alone executable?

我使用 C++ 整数编程例程来开发更快的专门方法来解决困难的 NP-Hard 问题。我遇到了一个较早的问题,该问题更多地涉及从 IDE (Visual Studio) 与 运行ning 中启动应用程序时获得 不同的 结果从命令行构建的应用程序根本没有打开 IDE。

Differences between running an executable with Visual Studio debugger vs without debugger

这个问题不是关于不同的结果,而是更多关于每个选项(运行ning from within IDE vs 运行ning executable standalone)是否对计算时间和表现。在我的工作中,重要的是要证明我们开发的任何专用算法在计算时间方面比直接使用通用的现成求解器(例如 CPLEX)求解整数程序要好得多。测试这两个选项(我们的专用算法与直接使用 CPLEX)需要使用嵌入在 C++ 文件中的 CPLEX 例程和库生成 linear/integer 编程模型。

然后,每个设置都是从​​ Visual Studio (F7) 和 运行 (F5) 中构建的。注意F7自己生成可执行文件。

为了给每个方法(我们的专用算法或直接 CPLEX)最好的机会 运行 以尽可能快的计算时间,建议在 [=33= 内按 F5 启动应用程序](Visual Studio,在这种情况下),或者最好 运行 应用程序(由构建 F7 生成)作为 .exe 甚至不打开 IDE?假设对于这两个选项(IDE vs standalone .exe),从同一个文件夹访问所需的工作目录和中间文件。

换句话说,IDE 启动与直接 运行 启动 .exe 是否对应用程序的计算时间产生影响有任何显着差异?

在 Visual Studio 中,您的程序 运行 作为独立进程。在开始之前你可以选择 Debug 或者 Release 版本到 运行。发布版本启用了优化。

当 运行在 IDE 中运行时,VS 正在监视您的应用程序,因此可能会有某种开销。您需要在您的特定机器上测量以了解多少。

使用 ctrl-f5,您可以 运行 在 IDE 之外使用您的应用程序。