現在我編譯sqlite3的代碼使用下列選項:
gcc -c -lpthread -DSQLITE_THREADSAFE=1 sqlite3.c
g++ -o test test.cc sqlite3.o -ldl -lpthread
這工作得很好。
但是我在一些項目中看到,定義爲標誌-DSQLITE_THREADSAFE=1
也是在g++
編譯器調用listet。這是必需的還是多餘的?如何在C++應用程序中編譯sqlite3線程安全?
0
A
回答
0
只有編譯SQLite代碼本身時才需要SQLITE_THREADSAFE
符號。 將其添加到其他編譯器調用是多餘的,但不會傷害。
+0
我怎麼知道sqlite3是編譯線程安全的? – baam
+0
這就是[SQLITE_THREADSAFE符號的用途](http://www.sqlite.org/compile.html#threadsafe)。 –
相關問題
- 1. 如何在我的C++應用程序中編譯sqlite3?
- 2. 線程安全應用程序中的線程安全
- 3. SQLite3線程安全的last_insert_rowid API(C++)
- 4. Ruby 1.8.6,SQLite3線程安全
- 5. 線程安全,應用程序設計
- 6. 如何在C中編譯C程序?
- 7. 如何用gcc中的線程編譯C程序?
- 8. 在線安全的web應用程序
- 9. sqlite3-ruby編譯和sqlite3包裝的rails應用程序
- 10. 如何安全地編譯和執行C++程序,並有安全限制?
- 11. 線程安全編程
- 12. C#線程安全
- 13. 如何編譯C程序?
- 14. 如何編譯線程程序?
- 15. 如何在C中使用模塊編譯應用程序?
- 16. 聊天應用程序c#安全線程
- 17. C中的線程安全?
- 18. 如何讓jsp的彈簧應用程序線程安全?
- 19. 如何部署線程安全的異步Rails應用程序?
- 20. 單線程應用程序是否線程安全
- 21. 如何學習線程安全的c#編程?
- 22. 在多線程應用程序中使用非線程安全的DLL
- 23. 如何在Fedora中編譯sqlite3.c?
- 24. 安全離線html5/js-應用程序?
- 25. 如何安全地在線程應用程序中使用std :: map?
- 26. 如何在xCode中爲您的iPhone應用程序編譯C++?
- 27. 如何在C#編譯的應用程序中嵌入DLL
- 28. 如何在Ubuntu中編譯C++控制檯應用程序
- 29. 如何將C++編譯器集成到C#應用程序中?
- 30. 如何從多線程C++ Linux應用程序安全地運行shell腳本?
檢查預編譯器輸出的代碼是否使用該標記進行編譯將顯示您的案例的答案。 – PlasmaHH
我現在用'-c'和'-o'標誌來代替'-E -dD'標誌。 有很多輸出。我在找什麼? – baam
兩個變體之間的差異 – PlasmaHH