0

このコードを OS X で実行します。

NSLog(@"sqlite3_threadsafe %d", sqlite3_threadsafe());
NSLog(@"sqlite3_config return %d", sqlite3_config(SQLITE_CONFIG_SERIALIZED));
NSLog(@"sqlite3_threadsafe %d", sqlite3_threadsafe());
NSLog(@"sqlite3_libversion %s", sqlite3_libversion());

私はこれを得る:

2013-09-10 11:49:51.177 SqliteTest[32864:303] sqlite3_threadsafe 2
2013-09-10 11:49:51.179 SqliteTest[32864:303] sqlite3_config return 0
2013-09-10 11:49:51.180 SqliteTest[32864:303] sqlite3_threadsafe 2
2013-09-10 11:49:51.180 SqliteTest[32864:303] sqlite3_libversion 3.7.12

2 番目の sqlite3_threadsafe() は 3 を返す必要があります。

私のコードで何が問題になっていますか?

4

1 に答える 1

0

ドキュメントには次のように記載されています。

sqlite3_threadsafe() 関数の戻り値は、スレッド セーフのコンパイル時の設定のみを示し、sqlite3_config() によって行われたその設定に対する実行時の変更は示しません。つまり、sqlite3_threadsafe() からの戻り値は、sqlite3_config() の呼び出しによって変更されません。

于 2013-09-10T07:22:55.107 に答える