windows11编译安装pysqlcipher3
资源内容介绍
windows11编译安装pysqlcipher3 /******************************************************************************** This file is an amalgamation of many separate C source files from SQLite** version 3.46.0. By combining all the individual C code files into this** single large file, the entire code can be compiled as a single translation** unit. This allows many compilers to do optimizations that would not be** possible if the files were compiled separately. Performance improvements** of 5% or more are commonly seen when SQLite is compiled as a single** translation unit.**** This file is all you need to compile SQLite. To use SQLite in other** programs, you need this file and the "sqlite3.h" header file that defines** the programming interface to the SQLite library. (If you do not have** the "sqlite3.h" header file at hand, you will find a copy embedded within** the text of this file. Search for "Begin file sqlite3.h" to find the start** of the embedded sqlite3.h header file.) Additional code files may be needed** if you want a wrapper to interface SQLite with your choice of programming** language. The code for the "sqlite3" command-line shell is also in a** separate file. This file contains only code for the core SQLite library.**** The content in this amalgamation comes from Fossil check-in** 96c92aba00c8375bc32fafcdf12429c58bd8.*/#define SQLITE_CORE 1#define SQLITE_AMALGAMATION 1#ifndef SQLITE_PRIVATE# define SQLITE_PRIVATE static#endif/************** Begin file sqliteInt.h ***************************************//*** 2001 September 15**** The author disclaims copyright to this source code. In place of** a legal notice, here is a blessing:**** May you do good and not evil.** May you find forgiveness for yourself and forgive others.** May you share freely, never taking more than you give.***************************************************************************** Internal interface definitions for SQLite.***/#ifndef SQLITEINT_H#define SQLITEINT_H/* Special Comments:**** Some comments have special meaning to the tools that measure test** coverage:**** NO_TEST - The branches on this line are not** measured by branch coverage. This is** used on lines of code that actually** implement parts of coverage testing.**** OPTIMIZATION-IF-TRUE - This branch is allowed to always be false** and the correct answer is still obtained,** though perhaps more slowly.**** OPTIMIZATION-IF-FALSE - This branch is allowed to always be true** and the correct answer is still obtained,** though perhaps more slowly.**** PREVENTS-HARMLESS-OVERREAD - This branch prevents a buffer overread** that would be harmless and undetectable** if it did occur.**** In all cases, the special comment must be enclosed in the usual** slash-asterisk...asterisk-slash comment marks, with no spaces between the** asterisks and the comment text.*//*** Make sure the Tcl calling convention macro is defined. This macro is** only used by test code and Tcl integration code.*/#ifndef SQLITE_TCLAPI# define SQLITE_TCLAPI#endif/*** Include the header file used to customize the compiler options for MSVC.** This should be done first so that it can successfully prevent spurious** compiler warnings due to subsequent content in this file and other files** that are included by this file.*//************** Include msvc.h in the middle of sqliteInt.h ******************//************** Begin file msvc.h ********************************************//*** 2015 January 12**** The author disclaims copyright to this source code. In place of** a legal notice, here is a blessing:**** May you do good and not evil.** May you find forgiveness for yourself and forgive others.** May you share freely, never taking more than you give.************************************************************************************ This file contains code that is specific to MSVC.*/#ifndef SQLITE_MSVC_H#define SQLITE_MSVC_H#if defined(_MSC_VER)#pragma warning(disable : 4054)#pragma warning(disable : 4055)#pragma warning(disable : 4100)#pragma warning(disable : 4127)#pragma warning(disable : 4130)#pragma warning(disable : 4152)#pragma warning(disable : 4189)#pragma warning(disable : 4206)#pragma warning(disable : 4210)#pragma warning(disable : 4232)#pragma warning(disable : 4244)#pragma warning(disable : 4305)#pragma warning(disable : 4306)#pragma warning(disable : 4702)#pragma warning(disable : 4706)#endif #if defined(_MSC_VER) && !defined(_WIN64)#undef SQLITE_4_BYTE_ALIGNED_MALLOC#define SQLITE_4_BYTE_ALIGNED_MALLOC#endif #if !defined(HAVE_LOG2) && defined(_MSC_VER) && _MSC_VER<1800#define HAVE_LOG2 0#endif #endif /************** End of msvc.h ************************************************//************** Continuing where we left off in sqliteInt.h ******************//*** Special setup for VxWorks*//************** Include vxworks.h in the middle of sqliteInt.h ***************//************** Begin file vxworks.h *****************************************//*** 2015-03-02**** The author disclaims copyright to this source code. In place of** a legal notice, here is a blessing:**** May you do good and not evil.** May you find forgiveness for yourself and forgive others.** May you share freely, never taking more than you give.************************************************************************************ This file contains code that is specific to Wind River's VxWorks*/#if defined(__RTP__) || defined(_WRS_KERNEL)#include <vxWorks.h>#include <pthread.h> #define OS_VXWORKS 1#define SQLITE_OS_OTHER 0#define SQLITE_HOMEGROWN_RECURSIVE_MUTEX 1#define SQLITE_OMIT_LOAD_EXTENSION 1#define SQLITE_ENABLE_LOCKING_STYLE 0#define HAVE_UTIME 1#else#define OS_VXWORKS 0#define HAVE_FCHOWN 1#define HAVE_READLINK 1#define HAVE_LSTAT 1#endif /************** End of vxworks.h *********************************************//************** Continuing where we left off in sqliteInt.h ******************//*** These #defines should enable >2GB file support on POSIX if the** underlying operating system supports it. If the OS lacks** large file support, or if the OS is windows, these should be no-ops.**** Ticket #2739: The _LARGEFILE_SOURCE macro must appear before any** system #includes. Hence, this block of code must be the very first** code in all source files.**** Large file support can be disabled using the -DSQLITE_DISABLE_LFS switch** on the compiler command line. This is necessary if you are compiling** on a recent machine (ex: Red Hat 7.2) but you want your code to work** on an older machine (ex: Red Hat 6.0). If you compile on Red Hat 7.2** without this option, LFS is enable. But LFS does not exist in the kernel** in Red Hat 6.0, so the code won't work. Hence, for maximum binary** portability you should omit LFS.**** The previous paragraph was written in 2005. (This paragraph is written** on 2008-11-28.) These days, all Linux kernels support large files, so** you should probably leave LFS enabled. But some embedded platforms might** lack LFS in which case the SQLITE_DISABLE_LFS macro might still be useful.**** Similar is true for Mac OS X. LFS is only supported on Mac OS X 9 and later.*/#ifndef SQLITE_DISABLE_LFS# define _LARGE_FILE