How do I create a statically linked extension for sqlite?
sqlite3_auto_extension looks like a good way to register a statically linked extension. But I don't understand the callback declaration:
void (*xEntryPoint)(void);
Should the callback look like sqlite3_extension_init?
int sqlite3_extension_init(
sqlite3 *db,
char **pzErrMsg,
const sqlite3_api_routines *pApi
)
+2
source to share
1 answer
I am also puzzled why the callback is declared this way. sqllite calls it like this:
xInit(db, &zErrmsg, &sqlite3Apis);
So you should have, for example,
int my_extension(sqlite3 *db, char **pzErrMsg, const sqlite3_api_routines *pApi)
{
//register stuff
return 0; //ok
}
...
sqlite3_auto_extension((void*)my_extension);
+5
source to share