首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >windows系统调用

windows系统调用
EN

Stack Overflow用户
提问于 2014-07-30 22:01:12
回答 1查看 893关注 0票数 2

在Linux上,getpid()似乎是最简单的系统调用,以最佳地度量系统调用所需的时间。有人能给我推荐一个简单的windows系统调用吗?我可以用它来测量转换到内核模式和返回的时间吗?

我在谷歌上找到了MSDN网站上的Windows系统调用列表,但它们都提到了打开文件--这似乎很奇怪:

http://msdn.microsoft.com/en-us/library/t0wd4t32.aspx

我在Windows 7 64位上。

EN

回答 1

Stack Overflow用户

发布于 2014-07-30 23:09:02

我的建议(这只是基于直觉)是尝试

代码语言:javascript
运行
复制
CloseHandle(NULL)

代码语言:javascript
运行
复制
WaitForMultipleObjectsEx(0, NULL, 0, 0, FALSE)

理由是这应该是不可行的。然而,我没有任何证据支持这一点。

更新

在Win8.1 x64上进行一些基准测试表明(无文档的) NtDisplayString(NULL)函数更快,其次是半文档化的NtAllocateLocallyUniqueId(&some_luid)。您必须使用GetProcAddress从NTDLL动态加载它们;签名如下:

代码语言:javascript
运行
复制
NTSTATUS NTAPI PNtAllocateLocallyUniqueId(PLUID LUID);
NTSTATUS NTAPI PNtDisplayString(PUNICODE_STRING DisplayString);
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/25047726

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档