# C API

> C applications require an external database schema defined in the eXtremeDB Data Definition Language (DDL). The schema is compiled to produce a generated API for the database objects defined in the schema which is then linked into the application. The eXtremeDB runtime for C applications (loaded into the applications process memory when executing) is then composed of this Generated API as well as the Static API consisting of the database functions implemented in the eXtremeDB runtime libraries.

> These “static” functions and methods are used for database control (opening, connecting to and closing databases), transaction management and cursor navigation. The actual list of libraries required by an application (referred to as the "link list") will vary depending on the specific eXtremeDB features and functionality the application will implement.

> For developers new to eXtremeDB, we recommend the Quick Start tutorial to quickly learn the programming fundamentals. Then proceed to build and run the SDK samples. These SDK Samples demonstrate numerous specific features and APIs. The recommended method for starting application development is to build and run one or more of these samples to become familiar with the code and the libraries required in the "link list"; then adapt an appropriate sample to your specific needs.

> For general principles of eXtremeDB application design and implementation please refer to the eXtremeDB User's Guide.