UltraLite Static C++ User's Guide
Introduction to the Static C++ API
UltraLite provides several programming interfaces, including both static development models (of which the static C++ interface is one) and UltraLite components. Many of the benefits and disadvantages of the static C++ API are shared with the embedded SQL.
The static C++ API has the following advantages:
Small footprint database As the static C++ API uses an UltraLite database engine compiled specifically for each application, the footprint is generally smaller than when using an UltraLite component, especially for a small number of tables. For a large number of tables, this benefit is lost.
High performance Combining the high performance of C and C++ applications with the optimization of the generated code, including data access plans, makes the static C++ API a good choice for high-performance application development.
Extensive SQL support With the static C++ API you can use a wide range of SQL in your applications.
The static C++ API has the following disadvantages:
Knowledge of C or C++ required If you are not familiar with C or C++ programming, you may wish to use one of the other UltraLite interfaces. UltraLite components provide interfaces from several popular propgramming languages and tools.
Complex development model The use of a reference database to hold the UltraLite database schema, together with the need to generate the API for your specific application, makes the static C++ API development process complex. The UltraLite components provide a much simpler development process.
SQL must be specified at design time Only SQL statements defined at compile time can be included in your application. The UltraLite components allow dynamic use of SQL statements.
The choice of development model is guided by the needs of your particular project, and by the programming skills and experience available.