Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/heroku/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sqlite C用户定义函数_C_Sqlite_Function - Fatal编程技术网

Sqlite C用户定义函数

Sqlite C用户定义函数,c,sqlite,function,C,Sqlite,Function,我正在使用sqlite C API。 “一切”都在主函数中运行(变量、打开、执行查询、关闭数据库等) 此外,我现在想创建单独的用户定义函数,例如,在数据库上进行排序 将db对象和变量从main传递到此新函数的最佳方法是什么?将它们全部创建为全局?通过参考?这就是Sqlite3_create_函数的用途吗 如果需要,请告诉我如何澄清这个问题 谢谢 接受一个void*pApp参数。其目的是指向供函数使用的数据。指针存储在SQLite托管函数上下文中。您可以使用从用户函数中获取此指针。由于分配了内存,

我正在使用sqlite C API。
“一切”都在主函数中运行(变量、打开、执行查询、关闭数据库等) 此外,我现在想创建单独的用户定义函数,例如,在数据库上进行排序

将db对象和变量从main传递到此新函数的最佳方法是什么?将它们全部创建为全局?通过参考?这就是Sqlite3_create_函数的用途吗

如果需要,请告诉我如何澄清这个问题

谢谢

接受一个
void*pApp
参数。其目的是指向供函数使用的数据。指针存储在SQLite托管函数上下文中。您可以使用从用户函数中获取此指针。由于分配了内存,因此可以在应用程序和函数之间共享内存


这种机制并不比使用globals困难多少,如果您决定以后再这样做,它支持多线程应用。

将sqlite3*db指针作为参数传递给您的函数

或者使用回调,如中所示