1

我希望我的 cl.exe(c++ 编译器进程)进程以低于正常的优先级运行,这样我的 UI 线程就不会受到影响。我已经为我的大多数项目打开了 /MP 构建,并希望利用所有 CPU,但不希望盒子陷入困境并且无法使用。

一位同事编写了一个实用程序来监视线程并允许用户选择进程名称以放弃优先级,但我想知道是否有可能为 Visual Studio 编写一个插件,在所有调用 CL.exe 时都会收到通知,以便您可以以编程方式降低优先级。

那么,这可能吗?VS 2008 - 现在可以构建 C++。

4

2 回答 2

1

您有 DTE 公开的BuildEvents对象,它将用于触发所有类型的项目,但它是查看 CL 是否正在运行的一个很好的说明点。(有一些关于如何在Google 代码搜索中使用它的示例)。
或者(这很老套,我不知道它是否会起作用)您可以编写一个 CL.exe 替换器,它将以低/理想优先级运行实际 CL 并将所有参数路由到它。

于 2009-06-20T20:15:42.097 回答
0

虽然这不能回答你的问题,但我和你的同事做了同样的事情——写了一个降低优先级的小实用程序cl.exe,你可以在这里获取源代码/二进制文件

于 2014-08-03T15:29:36.697 回答