c++ - 有什么理由更喜欢从 IDE 中运行应用程序而不是运行独立的可执行文件?

标签 c++ ide cplex

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

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

这个问题不是关于不同的结果,而是关于每个选项(从 IDE 内运行还是独立运行可执行文件)是否对计算时间和性能有任何影响。在我的工作中,重要的是要证明我们开发的任何专用算法在计算时间方面比直接使用通用的现成求解器(例如 CPLEX)求解整数程序要好得多。测试这两个选项(我们的专用算法与直接使用 CPLEX)需要使用嵌入在 C++ 文件中的 CPLEX 例程和库生成线性/整数编程模型。

然后,从 Visual Studio (F7) 中构建每个设置并运行 (F5)。请注意,F7 本身会生成可执行文件。

为了让每种方法(我们的专用算法或直接使用 CPLEX)有最好的机会以尽可能快的计算时间运行,建议通过在 IDE(在本例中为 Visual Studio)中按 F5 键启动应用程序,或者甚至不打开 IDE 就将应用程序(由构建 F7 生成)作为 .exe 运行更好?假设对于这两个选项(IDE 与独立 .exe),工作目录和所需的中间文件都是从同一个文件夹访问的。

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

最佳答案

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

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

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

关于c++ - 有什么理由更喜欢从 IDE 中运行应用程序而不是运行独立的可执行文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48466397/

相关文章:

c++ - Qt:立即启动线程,不延迟主事件循环

c++ - 我是否在发布或析构函数中删除 com 对象的实例数据?

Delphi烦恼, "find declaration"经常不起作用

macos - 适用于 Mac 的免费 ActionScript IDE?

java - cplex 用于 if-else 语句

c++ - CPLEX MIP 内存不足 : NodeFileInd is 2 but no files has been created

c++ - OpenCV和C++-形状和路标检测

c# - 什么是 Java 等同于 C# 的 Windows 窗体,用于轻松快速地构建 GUI 应用程序

python - 导入错误 : No module named 'cplex' Python on Linux

c++ - 推导模板参数继续