C语言 如何测量program.exe启动时间



我想测量我的程序exe启动时间它是从点击或回车开始的时间如果从控制台或任何其他方式开始,直到程序启动完成的时刻它的代码可以在设置了所有结构的情况下执行(这可能意味着main()中的第一个命令[?])

我想用编程的方式从在我的代码中,我想了一个方法需要读取准确的射击时间吗然后程序将这个时间从执行第一行代码的时间

(抱歉我的英语不好)怎么做?

您想从点击或[进入](其中包括shell (cmd.exe或Windows资源管理器)开销)还是从程序启动进行测量?

在编程上,你只能测量进程创建的时间,所以这将不包括查找、读取和映射。exe文件或任何dll。时间将根据已经映射到虚拟内存中的内容而变化。它将包括C RTL的初始化,但没有太多其他内容。

也许你能做的最好的是GetProcessTimes。

问题是,即使父进程也不一定等待子进程初始化完成——它可以,使用WaitForInputIdle,但如果你使用的是标准工具,如Windows资源管理器,那么你坚持这样做。

如果不编写自己的代码,我想不出任何方法来测量shell开销。

最新更新