cygwin 是否支持 api int getrusage(int who, struct rusage *usage); 中的 RUSAGE_THREAD?

问题描述

我们使用api int getrusage(int who,struct rusage *usage); 在 Linux 中计算我们代码中的时间。

我们在这个 api 中使用常量 RUSAGE_THREAD 作为调用线程的参数。 如手册页所述,RUSAGE_THREAD 是从 Linux 2.6.26 开始引入的。

我们还在 cygwin 环境中使用 cywin64 gcc4.8.2 编译我们的代码。 我已经检查了 C:/cygwin64/ 中的头文件 /usr/include/sys/resource.h 我无法似乎在那里找到定义的 RUSAGE_THREAD,它只定义了 RUSAGE_SELF 和 RUSAGE_CHILDREN。 我正在使用 cygwin64 (CYGWIN_NT-6.2 1.7.29(0.272/5/3) 2014-04-07 13:46 x86_64 Cygwin)。我还尝试查看最新的 cygwin 版本,但似乎也找不到它。 所以我的问题是,cygwin 是否支持 RUSAGE_THREAD ?如果没有,那么是否有计划添加支持

提前致谢。

解决方法

不是,主要是因为它不是 POSIX 标准的一部分

https://pubs.opengroup.org/onlinepubs/9699919799/basedefs/sys_resource.h.html

标头应定义以下符号 常量作为 getrusage() 的 who 参数的可能值:

RUSAGE_SELF
返回有关当前进程的信息。
RUSAGE_CHILDREN
返回有关当前进程的子进程的信息。

一般来说,要向 Cygwin 添加任何功能,有两个基本原则适用:

https://cygwin.com/acronyms/#SHTDI
https://cygwin.com/acronyms/#PTC

cygwin 和 cygwin-developers 邮件列表是询问您是否打算做出贡献的好地方
https://cygwin.com/lists.html

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...