SQLite 是一个独立的系统

SQLite 是“独立的”或“独立的”,因为它几乎没有依赖性。它可以在任何操作系统上运行,甚至是精简的准系统嵌入式操作系统。SQLite 不使用外部库或接口(除了下面描述的一些标准 C 库调用)。整个 SQLite 库被封装在一个源代码文件中,不需要特殊的设施或工具来构建。

SQLite 的最小构建只需要标准 C 库中的这些例程:

  • memcmp()
  • memcpy()
  • memmove()
  • memset()
  • strcmp()
  • strlen()
  • strncmp()

大多数构建还使用系统内存分配例程:

  • malloc()
  • realloc()
  • free()

但是这些例程是可选的,可以使用编译时选项省略。

SQLite 的默认构建包含用于与底层操作系统对话的适当VFS 对象,这些 VFS 对象将包含操作系统调用,例如 open()、read()、write()、fsync() 等。所有这些接口在大多数平台上都很容易获得,并且可以设计自定义 VFS 以在即使是最简陋的嵌入式设备上运行 SQLite。