/******************************************************************************
** This file is an amalgamation of many separate C source files from SQLite
** version 3.6.22. By combining all the individual C code files into this
** single large file, the entire code can be compiled as a one translation
** unit. This allows many compilers to do optimizations that would not be
** possible if the files were compiled separately. Performance improvements
** of 5% are 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.
*/
#define SQLITE_CORE 1
#define SQLITE_AMALGAMATION 1
#ifndef SQLITE_PRIVATE
# define SQLITE_PRIVATE static
#endif
#ifndef SQLITE_API
# define SQLITE_API
#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_
/*
** 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.
**
** 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 1
# ifndef _FILE_OFFSET_BITS
# define _FILE_OFFSET_BITS 64
# endif
# define _LARGEFILE_SOURCE 1
#endif
/*
** Include the configuration header output by 'configure' if we're using the
** autoconf-based build
*/
#ifdef _HAVE_SQLITE_CONFIG_H
#include "config.h"
#endif
/************** Include sqliteLimit.h in the middle of sqliteInt.h ***********/
/************** Begin file sqliteLimit.h *************************************/
/*
** 2007 May 7
**
** 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 defines various limits of what SQLite can process.
*/
/*
** The maximum length of a TEXT or BLOB in bytes. This also
** limits the size of a row in a table or index.
**
** The hard limit is the ability of a 32-bit signed integer
** to count the size: 2^31-1 or 2147483647.
*/
#ifndef SQLITE_MAX_LENGTH
# define SQLITE_MAX_LENGTH 1000000000
#endif
/*
** This is the maximum number of
**
** * Columns in a table
** * Columns in an index
** * Columns in a view
** * Terms in the SET clause of an UPDATE statement
** * Terms in the result set of a SELECT statement
** * Terms in the GROUP BY or ORDER BY clauses of a SELECT statement.
** * Terms in the VALUES clause of an INSERT statement
**
** The hard upper limit here is 32676. Most database people will
** tell you that in a well-normalized database, you usually should
** not have more than a dozen or so columns in any table. And if
** that is the case, there is no point in having more than a few
** dozen values in any of the other situations described above.
*/
#ifndef SQLITE_MAX_COLUMN
# define SQLITE_MAX_COLUMN 2000
#endif
/*
** The maximum length of a single SQL statement in bytes.
**
** It used to be the case that setting this value to zero would
** turn the limit off. That is no longer true. It is not possible
** to turn this limit off.
*/
#ifndef SQLITE_MAX_SQL_LENGTH
# define SQLITE_MAX_SQL_LENGTH 1000000000
#endif
/*
** The maximum depth of an expression tree. This is limited to
** some extent by SQLITE_MAX_SQL_LENGTH. But sometime you might
** want to place more severe limits on the complexity of an
** expression.
**
** A value of 0 used to mean that the limit was not enforced.
** But that is no longer true. The limit is now strictly enforced
** at all times.
*/
#ifndef SQLITE_MAX_EXPR_DEPTH
# define SQLITE_MAX_EXPR_DEPTH 1000
#endif
/*
** The maximum number of terms in a compound SELECT statement.
** The code generator for compound SELECT statements does one
** level of recursion for each term. A stack overflow can result
** if the number of terms is too large. In practice, most SQL
** never has more than 3 or 4 terms. Use a value of 0 to disable
** any limit on the number of terms in a compount SELECT.
*/
#ifndef SQLITE_MAX_COMPOUND_SELECT
# define SQLITE_MAX_COMPOUND_SELECT 500
#endif
/*
** The maximum number of opcodes in a VDBE program.
** Not currently enforced.
*/
#ifndef SQLITE_MAX_VDBE_OP
# define SQLITE_MAX_VDBE_OP 25000
#endif
/*
** The maximum number of arguments to an SQL function.
*/
#ifndef SQLITE_MAX_FUNCTION_ARG
# define SQLITE_MAX_FUNCTION_ARG 127
#endif
/*
** The maximum number of in-memory pages to use for the main database
** table and for temporary tables. The SQLITE_DEFAULT_CACHE_SIZE
*/
#ifndef SQLITE_DEFAULT_CACHE_SIZE
# define SQLITE_DEFAULT_CACHE_SIZE 2000
#endif
#ifndef SQLITE_DEFAULT_TEMP_CACHE_SIZE
# define SQLITE_DEFAULT_TEMP_CACHE_SIZE 500
#endif
/*
** The maximum number of attached databases. This must be between 0
** and 30. The upper bound on 30 is because a 32-bit integer bitmap
** is used internally to track attached databases.
*/
#ifndef SQLITE_MAX_ATTACHED
# define SQLITE_MAX_ATTACHED 10
#endif
/*
** The maximum value of a ?nnn wildcard that the parser will accept.
*/
#ifndef SQLITE_MAX_VARIABLE_NUMBER
# define SQLITE_MAX_VARIABLE_NUMBER 999
#endif
/* Maximum page size. The upper bound on this value is 32768. This a limit
** imposed by the necessity of storing the value in a 2-byte unsigned integer
** and the fact that the page size must be a power of 2.
**
** If this limit is changed, then the compiled library is technically
** incompatible with an SQLite library compiled with a different limit. If
** a process operating on a database with a page-size of 65536 bytes
** crashes, then an instance of SQLite compiled with the default page-size
** limit will not be able to rollback the aborted transaction. This could
** lead to database corruption.
*/
#ifndef SQLITE_MAX_PAGE_SIZE
# define SQLITE_MAX_PAGE_SIZE 32768
#endif
/*
** The default size of a database page.
*/
#ifndef SQLITE_DEFAULT_PAGE_SIZE
# define SQLITE_DEFAULT_PAGE_SIZE 1024
#endif
#if SQLITE_DEFAULT_PAGE_SIZE>SQLITE_MAX_PAGE_SIZE
# undef SQLITE_DEFAULT_PAGE
没有合适的资源?快使用搜索试试~ 我知道了~
fackbook 将php转c++ 代码
5星 · 超过95%的资源 需积分: 13 58 下载量 192 浏览量
2010-06-03
10:22:37
上传
评论 1
收藏 5.65MB GZ 举报
温馨提示
PHP是一种脚本语言,其好处是编程效率高,能够支持产品的快速迭代。但是与传统的编译语言相比,脚本语言的CPU和内存使用效率不好。随着 Ajax技术的广泛采用,加上SNS对动态要求较高,这些缺点更显得突出。对于每月超过4000亿次PV的Facebook来说,如何实现扩展,尤其具有挑战性。 常见的办法是直接用C++重写PHP应用中比较复杂的部分,作为PHP扩展。实际上,PHP就转变为一种胶水语言,连接前端HTML和C++应用逻辑。从技术角度讲这也没有问题,但是增加了技能需求,能够在整个应用上工作的工程师数量就大大减少了。学习C++只是编写PHP扩展的第一步,接下来还要理解Zend API。由于Facebook的工程团队较小,每个工程师要支持100万以上的用户。有些代码不是团队里每个人都能看懂,这对于Facebook是无法接受的。
资源推荐
资源详情
资源评论
收起资源包目录
fackbook 将php转c++ 代码 (2000个子文件)
configure.ac 2KB
command.admin_server 3KB
Makefile.am 1KB
FindLibEvent.cmake.bak 990B
test1pix.bmp 58B
003.txt.bz2 126B
004_1.txt.bz2 125B
004_2.txt.bz2 123B
sqlite3.c 3.69MB
parse_date.c 455KB
neo_hdf.c 41KB
neo_str.c 18KB
astro.c 12KB
parse_tz.c 11KB
neo_err.c 10KB
server.c 9KB
tm2unixtime.c 8KB
async.c 8KB
recmul.c 8KB
div.c 7KB
unixtime2tm.c 7KB
catter.c 6KB
lowlevel.c 6KB
neo_misc.c 6KB
doaddsub.c 6KB
timelib.c 6KB
output.c 6KB
wildmat.c 6KB
neo_hash.c 5KB
neo_files.c 5KB
ulist.c 5KB
utf8_decode.c 5KB
dow.c 5KB
compare.c 4KB
ulocks.c 4KB
sqrt.c 3KB
raise.c 3KB
init.c 3KB
raisemod.c 3KB
str2num.c 3KB
sub.c 3KB
add.c 3KB
divmod.c 2KB
num2str.c 2KB
utf8_to_utf16.c 2KB
num2long.c 2KB
int2num.c 2KB
nearzero.c 2KB
neo_rand.c 2KB
rt.c 2KB
debug.c 2KB
zero.c 2KB
strlcpy.c 2KB
rmzero.c 2KB
util.c 2KB
neg.c 2KB
outofmem.c 1KB
sync_catter.c 1KB
sync.c 1KB
sample.c 1008B
CheckLibeventVersion.c 455B
ffi.c++ 3KB
test.cdb 2KB
FindTBB.cmake 8KB
FindBISON.cmake 8KB
HPHPFindLibs.cmake 6KB
FindBISON.cmake 6KB
FindFLEX.cmake 6KB
FindFLEX.cmake 5KB
FindMySQL.cmake 4KB
FindGD.cmake 3KB
FindICU.cmake 3KB
FindSqlite3.cmake 2KB
FindRE2C.cmake 1KB
FindLibEvent.cmake 1KB
FindLibEvent.cmake 1KB
FindMcrypt.cmake 976B
FindPCRE.cmake 913B
FindLibAfdt.cmake 901B
FindLibCh.cmake 863B
HPHPFunctions.cmake 834B
HPHPSetup.cmake 715B
config.h.cmake 502B
coding_guideline 3KB
command.compiled 1KB
command.compiler 7KB
configure 512KB
COPYING 1KB
dynamic_table_func.no.cpp 1.79MB
dynamic_table_class.no.cpp 615KB
dynamic_table_constant.no.cpp 273KB
test_code_run.cpp 239KB
ext_image.cpp 231KB
reflection.cpp 221KB
ext_magick.cpp 147KB
exception.cpp 129KB
iterator.cpp 119KB
ext_mb.cpp 118KB
encoding.cpp 107KB
ext_domdocument.cpp 95KB
共 2000 条
- 1
- 2
- 3
- 4
- 5
- 6
- 20
资源评论
- wumiao1990912013-05-30哎,技术不行,看不懂
- china997882017-12-27找半天终于找到了,不错!感谢CSDN
vicplop
- 粉丝: 0
- 资源: 13
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- Python API 包装器和库列表.zip
- Python - 与我的 YouTube 频道相关的脚本存储在这里,可以用任何版本的 Python 编写.zip
- PyClass 课程计划.zip
- Puppet 模块用于安装和管理 Python、pip、virtualenvs 和 Gunicorn 虚拟主机 .zip
- jieshao123456
- Java 将本地mp4推流rtsp
- 第7章 聚类算法 - 作业 - 副本.ipynb
- Gartner发布2024年中国网络安全发展趋势
- OpenStack 存储 (Swift) 客户端 代码镜像由 opendev.org 维护 .zip
- 四社区D栋 2.m4a
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功