2011-07-24 24 views
1

我想重新發明輪子,我想在C++中創建一個時間類,我希望這個類依賴於任何c/C++ std庫,爲什麼?因爲我正在寫一個小型的操作系統,但我似乎無法找到有關我將如何開始的信息。任何人都可以帶領我走向正確的方向嗎?最讓我發現搜索的只是如何使用一個std庫獲取時間...重新發明輪子:時間類

感謝

對不起,讓我解決一個小的操作系統,是x86的現在。

+0

您需要更具體地瞭解您的環境。一個「小操作系統」爲什麼系統?您的x86 PC?你的iPhone?在C++ 0x之前,沒有標準的方法來獲取C++中的時間。 – Nemo

+0

...你在課堂上想要什麼功能?如果您正在構建自己的操作系統,它會提供什麼系統調用(如果有)來獲取當前時間? – Mat

回答

1

舊電腦有一個RTC(實時時鐘),從不使用HPET(高精度事件定時器)。

如果您想了解如何對它們進行編程,請深入研究linux內核源代碼。 Unices還有一個與正在運行的進程相關的時鐘,只有在進程運行時纔會啓動,這完全是一個OS功能。

更新:http://www.intel.com/hardwaredesign/hpetspec_1.pdf

+0

這就是我正在尋找如何編程一個實時時鐘。系統時鐘感謝= D –

+0

這個工作是否跨平臺,對不起,我沒有給出好的規格,他人就像是爲此寫了一個時鐘,它應該跨平臺工作。 –

+0

你正在編寫一個跨平臺的操作系統嗎?我的天啊。它應該與x86一起工作 –

0

難道你只是看看時間班的代碼?您可以輕鬆查看標準庫中的任何代碼。

+0

嗯我認爲它是在o文件不是實際的c文件我會看看 –

+0

它很可能是在一個頭文件(即time.h)或什麼的。 –

+0

你當然可以從.h文件中刪除_interface_。實施將不會在那裏,但刻痕可能是版權侵犯。 (_standard_庫被稱爲,因爲它有一個標準的接口,而不是一個標準的實現,所以你可以合法地使用該接口) – MSalters

相關問題