2012-02-29 24 views
0

是否有一种很好的方法可以在C++和.net之间传递时间戳,以便当它到达.net时,增量值是值得的。在C++和.NET之间传递时间戳

我的初步看法是高性能计时器使用CPU周期,而.net时间方法使用别的东西? (我不确定这一点)。

我在这里寻找一些指导/建议。主要目标是由C++程序接收低级请求,它会进行某种处理,将控制权传递给某些.NET代码,然后再传送给更多的.NET代码,并沿着一个值的映射也是通过的,所以在C++部分,我想收集开始/结束时间戳,然后在通过管道线时收集另一个开始和结束时间戳,但我需要时间戳才有意义。

这或多或少是基于相同的时钟。我该如何做到这一点 - 我可能在这里错过了一些非常简单的东西。

编辑:添加备注精度要求

我知道C++/CLI的,但我从我发现迄今猜(也许我是错在这里)是高精度计时器测量CPU周期,.NET Stopwatch.Elapsed不是CPU时间。我需要比15ms更精确的东西,我认为它是时间()C函数的精度。与Stopwatch.Elapsed时间兼容的东西将是最有用的。我很抱歉,我没有更具体的C++部分 - 我的C++非常生疏。

+1

我会建议使用一个字符串和日期时间格式,您可以轻松地从C++和.Net解析。字符串很容易通过,我知道你可以使用DateTime.Parse(string)来获取c#端的值。 – Developer 2012-02-29 06:15:05

回答

0

只要做到这一点。你知道还是使用C++/CLI?我用这个低级的工作,因为我可以用C++处理.NET对象。其实我可以用C++编写.NET类。

C++/CLI是交互C++和.NET代码的完美解决方案。

+0

我知道C++/CLI,但是从我迄今为止发现的(也许我在这里错误的)我猜测是高精度计时器测量CPU周期,而.NET不是CPU时间。我需要比15ms更精确的东西,我认为它是时间()C函数的精度。总的来说,将这个评论加入到这个问题中 - 因为我没有提到这一点。 – lucidquiet 2012-02-29 06:27:30