SQLite 3.8.10.2 の Windows 95対応版と x64版コンパイルしてみた

SQLITE 3.7.17 のWindows 向けライブラリをコンパイルしてみたよ
SQLITE 3.7.14.1 をビルドしてみた

SQLite 3.8.10.2 :: ソフトウェア更新情報 - 出張所 (softinfo)
SQLite Download Page

SQLite の 3.8.10.2が先月末リリースされました
3.8.0.2のリリースからかなり経ってるので、メジャーアップデートはありませんがリリースしてみることに・ω・

#if !SQLITE_OS_WINCE && !defined(SQLITE_WIN32_NO_OVERLAPPED)
    OVERLAPPED overlapped;        /* The offset for WriteFile. */
#endif
    u8 *aRem = (u8 *)pBuf;        /* Data yet to be written */
    int nRem = amt;               /* Number of bytes yet to be written */
    DWORD nWrite;                 /* Bytes written by each WriteFile() call */
    DWORD lastErrno = NO_ERROR;   /* Value returned by GetLastError() */

#if !SQLITE_OS_WINCE && !defined(SQLITE_WIN32_NO_OVERLAPPED)
    memset(&overlapped, 0, sizeof(OVERLAPPED));
    overlapped.Offset = (LONG)(offset & 0xffffffff);
    overlapped.OffsetHigh = (LONG)((offset>>32) & 0x7fffffff);
#endif

おー、なんか Windows 9x シリーズで動作しない OVERLAPPED オプションの解除に対応してる!

#if defined(_WIN32_WINNT) && _WIN32_WINNT >= 0x0400
  assert( winMutex_isInit==1 );
  assert( winMutex_isNt>=-1 && winMutex_isNt<=1 );
  if( winMutex_isNt<0 ){
    winMutex_isNt = sqlite3_win32_is_nt();
  }
  assert( winMutex_isNt==0 || winMutex_isNt==1 );
  if( winMutex_isNt &&  TryEnterCriticalSection(&p->mutex) ){
#ifdef SQLITE_DEBUG
    p->owner = tid;
    p->nRef++;
#endif

でも、NT専用関数の TryEnterCriticalSection が追加されてるから注意が必要だね・ω・

【BM】SQLite 3.8.0.2 の x64版とWin95対応版 DLL作ったよ
ダウンロードはいつもの場所

おすすめ

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です