Sqlite C用户定义函数
我正在使用sqlite C API。Sqlite C用户定义函数,c,sqlite,function,C,Sqlite,Function,我正在使用sqlite C API。 “一切”都在主函数中运行(变量、打开、执行查询、关闭数据库等) 此外,我现在想创建单独的用户定义函数,例如,在数据库上进行排序 将db对象和变量从main传递到此新函数的最佳方法是什么?将它们全部创建为全局?通过参考?这就是Sqlite3_create_函数的用途吗 如果需要,请告诉我如何澄清这个问题 谢谢 接受一个void*pApp参数。其目的是指向供函数使用的数据。指针存储在SQLite托管函数上下文中。您可以使用从用户函数中获取此指针。由于分配了内存,
“一切”都在主函数中运行(变量、打开、执行查询、关闭数据库等) 此外,我现在想创建单独的用户定义函数,例如,在数据库上进行排序 将db对象和变量从main传递到此新函数的最佳方法是什么?将它们全部创建为全局?通过参考?这就是Sqlite3_create_函数的用途吗 如果需要,请告诉我如何澄清这个问题 谢谢 接受一个
void*pApp
参数。其目的是指向供函数使用的数据。指针存储在SQLite托管函数上下文中。您可以使用从用户函数中获取此指针。由于分配了内存,因此可以在应用程序和函数之间共享内存
这种机制并不比使用globals困难多少,如果您决定以后再这样做,它支持多线程应用。将sqlite3*db指针作为参数传递给您的函数 或者使用回调,如中所示