時間管理用Cランタイムライブラリ

Windows CEのCランタイムライブラリはデスクトップ版のCランタイム(ANSI標準Cランタイム)に比べて制限されている
その1つが時間管理系の関数の削除。mktime()やlocaltime()といった標準のランタイム関数はWindows CEでは用意されていないためデスクトップ版のソースコードをそのまま持ってきた場合、これらの関数はコンパイルエラーとなってしまう。


以前Windows CE版のJavaScript Engineを移植したときもmktime()がなくて困って自作した記憶がある。localtime()はSQLite for Windows CEで実装されていたのを拝借した記憶がある。


このたびOpenNETCF.orgがこれらの関数のオープンライブラリ(OpenTimeCE)を提供してくれたので紹介する。
OpenTimeCE: time_t for Windows CE


以下の関数が提供されている。(ただし本来の関数とは別名(_ceが付いた形)で定義されているので必要に応じて修正するか、マクロで読み替える等が必要になる)


デスクトップWindowsソースコードWindows CEに移植する人にとってはありがたいライブラリだ。