c - SQLite 使用 C 文件添加功能

标签 c sqlite

我希望根据 Robert Harvey 的响应添加聚合函数 here他指向 this page 。我看到第一个文件 [extension-functions.c ],这是我需要的(特别是方差函数)。

如何将此文件的功能添加到我的 sqlite3 控制台?如果我在 Mac 上工作会有什么影响吗?

我尝试搜索答案,假设该文件称为扩展名,但扩展名一词也意味着文件末尾的内容(.db、.db3 或 .sqlite3),因此 Google 没有用。

最佳答案

除了@Mark Benningfield 的评论:

我在文件on this post的github上找到了该文件的链接(我不使用 Ubuntu,这就是我错过它的原因),接受的答案不是我想要的。然而,Github link提供了文档,这正是我正在寻找的。

在 Mac 上,我必须在控制台中运行以下命令:

-编译文件

gcc -fno-common -dynamiclib extension-functions.c -o libsqlitefunctions.dylib

-加载sqlite控制台

sqlite3 <database_name>

-在 SQLite 控制台中运行

SELECT load_extension('./libsqlitefunctions.dylib');

请注意,每次需要使用外部函数时都必须运行上面的行(例如相关文件 extension-functions.c 中的函数)。对于启动时的永久加载和其他操作系统,请参阅 same post 。我还没有尝试过后者,所以除了 macOS 之外我不能保证其他任何东西。

关于c - SQLite 使用 C 文件添加功能,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48617729/

相关文章:

c - 以下是什么意思。 C 语言中符号类型的二进制表示?

c - 在C中使用指针交换两个数字

javascript - 在 Firefox Restartless Extension 中使用 while 循环是一种很好的等待策略吗?

android - SQLiteDatabase Order By Id 跳过第一个元素

sql - 两个字段的条件排序

c++ - Qt-C++通过绝对路径连接Sqlite

c - 如何在C中使用浮点指针访问 double 值

c++ - 除了LAME MP3之外,还有哪些开源的C/C++音频压缩选项?

C 代码错误 : free(): invalid next size (fast):

android - 如何在sqlite中仅更新列为空?