2012-02-29 23 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