On 10 May 2016, at 4:56pm, Jeremy Nicoll <jn.ml.sqlu.725 at letterboxes.org> 
wrote:

> That suggests to me that sqldiff & sqlite3 only use a small fraction of
> the code present in 
> a DLL, and the link only includes those functions in the resulting .exe.

Correct.

The SQLite tools do not use a DLL.  They have the SQLite library included in 
their own code, supplied as one .h one .c file.  Since the compiler has access 
to the raw source code it knows which functions are called and doesn't have to 
include the others.

This is true of almost all programs which use SQLite on all platforms.  SQLite 
is provided as two C files (the amalgamation .c and .h files) and you are 
expected to include them in your project.  That way you don't have to find the 
ideal DLL to match your requirements.  If your compilation process targets 32 
bit or 16 bit or a mobile platform or a different OS, when your own code is 
being compiled for it, so is the SQLite code included in your project.

It's only a certain kind of Windows user who wants DLLs for everything.  If 
that's what you need you are going to have to make sure you get the right DLL.  
But the fact that most SQLite programmers don't use a DLL is why you're having 
trouble getting simple clear answers on this thread -- your problem is more 
about DLLs than it is about SQLite.

Simon.

Reply via email to