获取本地时间(以纳秒为单位)[重复]

2024-01-20

可能的重复:
C++ 定时器函数提供以纳秒为单位的时间 https://stackoverflow.com/questions/275004/c-timer-function-to-provide-time-in-nano-seconds

我需要以纳秒分辨率测量函数执行的持续时间。是否可以?我们普通的计算机硬件和软件能够给出这么精确的时间吗?如果是的话如何用c++实现? Boost库可以吗?


是的,如今大多数硬件都支持这种分辨率,并且 C++ 标准库也有一个 API 可以支持它。不幸的是,并非所有 C++ 实现实际上都提供了它。

API 是<chrono> http://en.cppreference.com/w/cpp/chronoC++11中引入的库:

#include <iostream>
#include <chrono>

int main() {
    auto start = std::chrono::high_resolution_clock::now();

    // operation to be timed ...

    auto finish = std::chrono::high_resolution_clock::now();
    std::cout << std::chrono::duration_cast<std::chrono::nanoseconds>(finish-start).count() << "ns\n";
}

The <chrono>Darwin 的 libc++ 实现提供了纳秒分辨率,但 VS2012 中的实现似乎只达到了十分之一毫秒。上面的代码仍将以纳秒为单位给出时间,但小于 100 微秒的计时最终将为零纳秒。

Boost 还提供了一个实现 boost::chrono,它似乎在 Windows 上使用纳秒。它也可与 C++03 一起使用。

#include <boost/chrono.hpp>

int main() {
    boost::chrono::high_resolution_clock::time_point t1 =
        boost::chrono::high_resolution_clock::now();

    boost::chrono::high_resolution_clock::time_point t2 =
        boost::chrono::high_resolution_clock::now();

    std::cout << boost::chrono::duration_cast<boost::chrono::nanoseconds>(t2-t1) << "\n";
    // boost chrono has more advanced output, .count() isn't needed, nor is manually writing out the units
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

获取本地时间(以纳秒为单位)[重复] 的相关文章

  • BASIC 中的 C 语言中的 PeekInt、PokeInt、Peek、Poke 等效项

    我想知道该命令的等效项是什么Peek and Poke 基本和其他变体 用 C 语言 类似PeekInt PokeInt 整数 涉及内存条的东西 我知道在 C 语言中有很多方法可以做到这一点 我正在尝试将基本程序移植到 C 语言 这只是使用
  • 调用 McAfee 病毒扫描引擎

    我收到客户的请求 要求使用他们服务器上的 McAfee 病毒扫描将病毒扫描集成到应用程序中 我做了一些调查 发现 McScan32 dll 是主要的扫描引擎 它导出各种看起来有用的函数 我还发现提到了 McAfee Scan Engine
  • 根据属性的类型使用文本框或复选框

    如果我有这样的结构 public class Parent public string Name get set public List
  • 在一个数据访问层中处理多个连接字符串

    我有一个有趣的困境 我目前有一个数据访问层 它必须与多个域一起使用 并且每个域都有多个数据库存储库 具体取决于所调用的存储过程 目前 我只需使用 SWITCH 语句来确定应用程序正在运行的计算机 并从 Web config 返回适当的连接字
  • 通过引用传递 [C++]、[Qt]

    我写了这样的东西 class Storage public Storage QString key const int value const void add item QString int private QMap
  • 机器Epsilon精度差异

    我正在尝试计算 C 中双精度数和浮点数的机器 epsilon 值 作为学校作业的一部分 我在 Windows 7 64 位中使用 Cygwin 代码如下 include
  • 如何在 C# 中打开 Internet Explorer 属性窗口

    我正在开发一个 Windows 应用程序 我必须向用户提供一种通过打开 IE 设置窗口来更改代理设置的方法 Google Chrome 使用相同的方法 当您尝试更改 Chrome 中的代理设置时 它将打开 Internet Explorer
  • -webkit-box-shadow 与 QtWebKit 模糊?

    当时有什么方法可以实现 webkit box shadow 的工作模糊吗 看完这篇评论错误报告 https bugs webkit org show bug cgi id 23291 我认识到这仍然是一个问题 尽管错误报告被标记为RESOL
  • 对类 static constexpr 结构的未定义引用,g++ 与 clang

    这是我的代码 a cp p struct int2 int x y struct Foo static constexpr int bar1 1 static constexpr int2 bar2 1 2 int foo1 return
  • 为什么这个字符串用AesCryptoServiceProvider第二次解密时不相等?

    我在 C VS2012 NET 4 5 中的文本加密和解密方面遇到问题 具体来说 当我加密并随后解密字符串时 输出与输入不同 然而 奇怪的是 如果我复制加密的输出并将其硬编码为字符串文字 解密就会起作用 以下代码示例说明了该问题 我究竟做错
  • 实例化类时重写虚拟方法

    我有一个带有一些虚函数的类 让我们假设这是其中之一 public class AClassWhatever protected virtual string DoAThingToAString string inputString retu
  • 如何在当前 Visual Studio 主机内的 Visual Studio 扩展中调试使用 Roslyn 编译的代码?

    我有一个 Visual Studio 扩展 它使用 Roslyn 获取当前打开的解决方案中的项目 编译它并从中运行方法 程序员可以修改该项目 我已从当前 VisualStudioWorkspace 成功编译了 Visual Studio 扩
  • C 函数 time() 如何处理秒的小数部分?

    The time 函数将返回自 1970 年以来的秒数 我想知道它如何对返回的秒数进行舍入 例如 对于100 4s 它会返回100还是101 有明确的定义吗 ISO C标准没有说太多 它只说time 回报 该实现对当前日历时间的最佳近似 结
  • 如何在 Android 中使用 C# 生成的 RSA 公钥?

    我想在无法假定 HTTPS 可用的情况下确保 Android 应用程序和 C ASP NET 服务器之间的消息隐私 我想使用 RSA 来加密 Android 设备首次联系服务器时传输的对称密钥 RSA密钥对已在服务器上生成 私钥保存在服务器
  • C# 中的 IPC 机制 - 用法和最佳实践

    不久前我在 Win32 代码中使用了 IPC 临界区 事件和信号量 NET环境下场景如何 是否有任何教程解释所有可用选项以及何时使用以及为什么 微软最近在IPC方面的东西是Windows 通信基础 http en wikipedia org
  • 对于某些 PDF 文件,LoadIFilter() 返回 -2147467259

    我正在尝试使用 Adob e IFilter 搜索 PDF 文件 我的代码是用 C 编写的 我使用 p invoke 来获取 IFilter 的实例 DllImport query dll SetLastError true CharSet
  • C++ 中的参考文献

    我偶尔会在 StackOverflow 上看到代码 询问一些涉及函数的重载歧义 例如 void foo int param 我的问题是 为什么会出现这种情况 或者更确切地说 你什么时候会有 对参考的参考 这与普通的旧参考有何不同 我从未在现
  • C# 使用“?” if else 语句设置值这叫什么

    嘿 我刚刚看到以下声明 return name null name NA 我只是想知道这在 NET 中叫什么 是吗 代表即然后执行此操作 这是一个俗称的 条件运算符 三元运算符 http en wikipedia org wiki Tern
  • 类型或命名空间“MyNamespace”不存在等

    我有通常的类型或命名空间名称不存在错误 除了我引用了程序集 using 语句没有显示为不正确 并且我引用的类是公共的 事实上 我在不同的解决方案中引用并使用相同的程序集来执行相同的操作 并且效果很好 顺便说一句 这是VS2010 有人有什么
  • 使用 WGL 创建现代 OpenGL 上下文?

    我正在尝试使用 Windows 函数创建 OpenGL 上下文 现代版本 基本上代码就是 创建窗口类 注册班级 创建一个窗口 choose PIXELFORMATDESCRIPTOR并设置它 创建旧版 OpenGL 上下文 使上下文成为当前

随机推荐

  • Django、ReportLab PDF 生成附加在电子邮件中

    使用 Django 和 ReportLab 生成 PDF 并将其附加到电子邮件的最佳方法是什么 我正在使用 SimpleDocTemplate 并且可以将生成的 PDF 附加到我的 HttpResponse 这很棒 但我无法找到如何将相同的
  • 在独特的类别存档页面上隐藏主类别标题

    我正在构建一个包含许多不同类别的网站 并且需要简单地删除类别标题one存档页面 http redyearclients co uk PandF product category exterior paaving paaving brands
  • npm 命令中 -s 是什么意思?

    我看到以下命令包括 s选项 它有什么作用 s 意思是 因为我没有看到这个选项package json npm run dev s 旗帜 s代表 沉默 适用于npm 而不是命令中的dev脚本 The s标志阻止npm当命令以非零状态退出时 即
  • 用于 C# 对象数据源的 EDI x12 映射器

    有谁知道有什么工具可以将 EDI x12 映射到 C 对象吗 我刚刚查看了 Altova MapForce 但它似乎不支持这一点 出于可移植性原因 我无法使用数据库模式映射 并且如果可以的话 我宁愿避免使用 xml 或平面文件 实际上 Ma
  • LoadRunner web_reg_save_param、ord=all、paramName_count 问题

    我使用的是 LoadRunner 版本 12 02 Build 2739 查看旧的但正确的 指南 表明我已经正确使用了这些语句 第三点 大约页面下方的 1 3 在代码块内 the atoi陈述 http motevich blogspot
  • 使用numpy计算曲率时出错

    我正在尝试使用以下方法计算二维曲线在每个点的曲率公式在这里 http en wikipedia org wiki Curvature Local expressions 我遇到的问题是 虽然我得到了一个应有的恒定值 但该值不是正确的值 这是
  • VB.NET - 从字符串中删除字符

    我有这个字符串 Dim stringToCleanUp As String bon jour Dim characterToRemove As String 我想要一个删除 的函数像这样的字符 Function RemoveCharacte
  • 无法在本地主机上的 Internet Explorer 中加载 jQuery (WAMP)

    我有一段标准的 HTML 但无法让 jQuery 在 IE 上运行 我尝试了IE10和IE11 以及IE10中模拟的IE8和9 我什至尝试使用来自的代码HTML5 样板 https html5boilerplate com 我正在测试 jq
  • 有没有办法让 CoreML 模型在源代码级别适用于 iOS11+

    我的应用程序中有一个 CoreML 模型 在运行时 预测功能应在 iOS8 10 上禁用 并在 iOS11 上激活 为了能够在使用 CoreML 的所有类上进行编译 我添加了 可用 iOS 11 0 但 mlmodel 在每次重建时都会生成
  • Play 商店中的广告部分为空

    我正在 Play 商店上传应用程序 我已经完成了所有必需的表格和输入 但是当我去应用内容 gt 广告 它不显示任何输入字段 有什么问题或者我需要先完成其他事情吗 我选择了 App Alpha 测试轨道并上传应用程序包 然而 只有广告这件事留
  • 如何在单击时在光标周围放置一个

    我正在尝试重新创建 Facebook 标记功能 在该功能中 您单击图像 并且您单击的图像部分显示一个空框 或正方形 使用 jQuery 如何使该框在单击时出现在光标周围 Thanks 像这样的东西可能会帮助你 其中 image 是可标记的图
  • 调试z轴旋转不为0,而在inspector中为0

    在检查器中 我的变换的 z 轴旋转为 0 但是当我使用这些代码行进行调试时 Debug Log local Euler z transform localEulerAngles z Debug Log global Euler z tran
  • Common Lisp 类层次结构

    格雷格 菲尔的类层次结构 http sellout github io media CL type hierarchy png该图提供了 Common Lisp 类型系统的全面描述 但我试图更好地理解层次结构顶部的类关系 举一个简单的例子
  • 推荐的 django 项目结构是什么?

    我还没有确切地找到这个问题的答案 也许没有最好的答案 Django 文档对此不清楚 我不确定建立 django 项目的好习惯是什么 当然 我有可重复使用的应用程序 但我总是需要一些粘合代码 我发现自己总是为每个项目创建 核心 应用程序 通常
  • 如何使用查询注释删除 MongoRepository 中的项目?

    我使用 MongoRepository 将 Spring Data 与 MongoDB 结合使用 我想知道是否可以使用查询注释通过过滤器进行删除 我一直在看这里和谷歌 但找不到任何文档 Query value id 0 delete tru
  • 为什么引导加载程序中的字节“0xea 0000 ffff”会导致计算机重新启动?

    我正在研究引导加载程序 发现了这个有趣的组件 Sends us to the end of the memory causing reboot db 0x0ea dw 0x0000 dw 0xffff 通过评论我知道它的作用 将计算机发送到
  • 如何使用 Tabs API 在材质 UI 中水平对齐选项卡标签和选项卡图标

    我正在尝试覆盖 Material UI CSS 并将电话图标和电话文本对齐在同一行并且彼此更靠近 我研究发现Tabs API https material ui com api tabs css api 然后我调试并发现包装器属性产生了问题
  • 我需要找到元素与浏览器窗口底部之间的距离

    我需要找到元素与浏览器窗口底部之间的距离 当我选择该元素 并且该元素与浏览器窗口底部之间的距离小于50px时 我想让窗口自动滚动 有任何想法吗 我更喜欢使用 jQuery 与其他系统浏览器中的坐标不同的是 浏览器中的坐标是从上到下 这意味着
  • 如何在32位Linux上运行16位代码?

    我编写了一个小型 16 位汇编程序 该程序在某些内存位置写入一些值 有没有办法可以在 Linux 上的 32 位保护模式下测试它 qemu http wiki qemu org Main Page dosbox http www dosbo
  • 获取本地时间(以纳秒为单位)[重复]

    这个问题在这里已经有答案了 可能的重复 C 定时器函数提供以纳秒为单位的时间 https stackoverflow com questions 275004 c timer function to provide time in nano