我们在Linux中使用api int getrusage(int who, struct rusage *usage);来计算代码中的时间。
在这个api中,我们使用常量RUSAGE_THREAD作为调用线程的参数。正如手册页所记录的,RUSAGE_THREAD是从Linux2.6.26开始引入的。
我们还在cygwin环境中使用cywin64 gcc4.8.2编译代码。我检查了C:/cygwin64 64/中的头/usr/include/sys/resource.h e.h,而且我似乎找不到在那里定义的RUSAGE_THREAD,它只定义了RUSAGE_SELF和RUSAGE_CHILDREN。我使用的是cygwin64 (Cygwin_NT6.2 1.7.29(0.272/5/3) 2014-04-07 13:46 x86_64 Cygwin)。我还试图调查最新的cygwin版本,但似乎也找不到它。所以我的问题是,cygwin支持RUSAGE_THREAD吗?如果没有,是否有计划增加这种支持?
提前谢谢。
发布于 2021-05-27 05:18:52
它不是,主要因为它不是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://stackoverflow.com/questions/67715669
复制相似问题