sqlite3_auto_extension看起来是注册静态链接扩展的好方法。但我不理解回调声明:
void (*xEntryPoint)(void);
回调不应该像sqlite3_extension_init一样吗?
int sqlite3_extension_init(
sqlite3 *db,
char **pzErrMsg,
const sqlite3_api_routines *pApi
)
答案 0 :(得分:5)
我也很困惑为什么这样的回调被宣布。 sqllite称之为:
xInit(db, &zErrmsg, &sqlite3Apis);
所以你应该有例如。
int my_extension(sqlite3 *db, char **pzErrMsg, const sqlite3_api_routines *pApi)
{
//register stuff
return 0; //ok
}
...
sqlite3_auto_extension((void*)my_extension);