Hatena::Groupwindowsmobile-dev

WindowsMobileのはなし

 | 

2010-05-21

_mkgmtime64がないって言われるんだけど。

| 04:02 | _mkgmtime64がないって言われるんだけど。 - WindowsMobileのはなし を含むブックマーク はてなブックマーク - _mkgmtime64がないって言われるんだけど。 - WindowsMobileのはなし

_mktime64は使えるのに_mkgmtime64は使えない。どういうことだ。実装されてないのか。

と思いきやそうでもないんです。%VS_INSTALL_PATH%\VC\ce\crt\src\mktime64.c を見るとちゃんと実装されています。

_mkgmtime64はヘッダにプロトタイプがないだけでちゃんとプロトタイプを書けば動く。というCEにありがちな実装のようです。

使う場合には次のように書くといいでしょう。

#ifdef __cplusplus
extern "C"
#endif
__time64_t __cdecl _mkgmtime64(struct tm *tb);

CRT関数はすべてC言語のシンボルなのでC++から呼ぶときはC言語の名前修飾にしてやらないとリンクできないのでC++としてコンパイルされるときだけextern "C"するというありがちな書き方です。

これでstruct tm*をUTCとして解釈させられますね!

LisaLisa 2011/08/20 17:57 Holy conicse data batman. Lol!

ykumojbdfptykumojbdfpt 2011/08/22 22:33 thcKBx <a href="http://wirlaengmvnj.com/">wirlaengmvnj</a>

xtgpolcodmuxtgpolcodmu 2011/08/24 00:53 IwYbLh , [url=http://ejjzcqnmitvd.com/]ejjzcqnmitvd[/url], [link=http://fbhlptafoowf.com/]fbhlptafoowf[/link], http://fnfqwxzuyoab.com/

ゲスト



トラックバック - http://windowsmobile-dev.g.hatena.ne.jp/tmyt/20100521
 |