小编CL.*_*CL.的帖子

像_sqlite3_open这样的符号没有找到错误

嗨,我得到这个错误:

Undefined symbols:
  "_sqlite3_open", referenced from:
      _main in ccRlWVer.o
  "_sqliite3_close", referenced from:
      _main in ccRlWVer.o
  "_sqlite3_exec", referenced from:
      _main in ccRlWVer.o
  "_sqlite3_errmsg", referenced from:
      _main in ccRlWVer.o
  "_sqlite3_close", referenced from:
      _main in ccRlWVer.o
ld: symbol(s) not found
collect2: ld returned 1 exit status

这是我的代码:

const char * filename = "database.db";
sqlite3 * ppDb;
int rc;
rc = sqlite3_open(filename, &ppDb);
if( rc ){
    fprintf(stderr, "Can't open database: %s\n", sqlite3_errmsg(ppDb));
    sqlite3_close(ppDb);
    exit(1);
}

char * errMsg = 0;
sqlite3_exec(ppDb, sql ,display_result, 0, …
Run Code Online (Sandbox Code Playgroud)

c

1
推荐指数
1
解决办法
1960
查看次数

SQLite UPDATE查询未运行

我不知道为什么,但这段代码不起作用(但运行无例外):

try {
    db.rawQuery(UPDATE_ALL_REMINDERS_AND_SET_METHOD_NONE, null);
} catch (Exception e) {
    e.printStackTrace();            
}
Run Code Online (Sandbox Code Playgroud)

UPDATE_ALL_REMINDERS_AND_SET_METHOD_NONE是:

UPDATE dn_reminders SET method = 0
Run Code Online (Sandbox Code Playgroud)

所有字段和表名都是正确的.

sqlite android

1
推荐指数
1
解决办法
53
查看次数

用于从 USB 设备获取连续 HID 报告的 Linux 命令/工具

lsusb -v给出 USB 设备的设备描述符信息。Linux 中是否有任何命令/工具可以为我们提供来自 USB HID 设备的连续 HID 输入报告?

android hid linux-kernel

1
推荐指数
1
解决办法
9383
查看次数

arch中未发现内核错误

我运行这个命令:

sudo dkms autoinstall -k 3.11.6-1-ARCH
Run Code Online (Sandbox Code Playgroud)

并有错误:

Error! echo
Your kernel headers for kernel 3.11.6-1-ARCH cannot be found at
/usr/lib/modules/3.11.6-1-ARCH/build or /usr/lib/modules/3.11.6-1-ARCH/source.
Error! echo
Your kernel headers for kernel 3.11.6-1-ARCH cannot be found at
/usr/lib/modules/3.11.6-1-ARCH/build or /usr/lib/modules/3.11.6-1-ARCH/source.
Run Code Online (Sandbox Code Playgroud)

我该怎么办?

linux kernel linux-kernel archlinux

0
推荐指数
1
解决办法
5850
查看次数

使用另一个表中的值和 SQLite 中的 where 子句更新多行

PK | PARENT | COMMENT
---+--------+-----------
 1 |        | I AM ONE
 2 |        | I AM TWO
 3 |      1 | I AM ONE
 4 |      1 |
 5 |      2 | I AM TWO
 6 |      2 | I AM THREE
Run Code Online (Sandbox Code Playgroud)

我想更新不为空COMMENT的行的字段PARENT,以便COMMENT与父项相同。这是预期的结果:

PK | PARENT | COMMENT
---+--------+---------
 1 |        | I AM ONE
 2 |        | I AM TWO
 3 |      1 | I AM ONE
 4 |      1 | I …
Run Code Online (Sandbox Code Playgroud)

sql sqlite

0
推荐指数
1
解决办法
765
查看次数

为什么在prepare_to_wait之后必须在wait_event中检查条件?

我试图了解如何在Linux内核中实现wait_event。ldd3中有一个代码示例,其中使用prepare_to_wait(http://www.makelinux.net/ldd3/chp-6-sect-2)解释了内部实现。

static int scull_getwritespace(struct scull_pipe *dev, struct file *filp)
{
    while (spacefree(dev) == 0) {
        DEFINE_WAIT(wait);

        up(&dev->sem);
        if (filp->f_flags & O_NONBLOCK)
            return -EAGAIN;
        PDEBUG("\"%s\" writing: going to sleep\n",current->comm);
        prepare_to_wait(&dev->outq, &wait, TASK_INTERRUPTIBLE);
        if (spacefree(dev) == 0)  // Why is this check necessary ??
            schedule(  );
        finish_wait(&dev->outq, &wait);
        if (signal_pending(current))
            return -ERESTARTSYS; /* signal: tell the fs layer to handle it */
        if (down_interruptible(&dev->sem))
            return -ERESTARTSYS;
    }
    return 0;
}
Run Code Online (Sandbox Code Playgroud)

在书中,解释如下。

然后是对缓冲区的强制检查;我们必须处理以下情况:在进入while循环(并丢弃了信号灯)之后但在进入等待队列之前,缓冲区中的空间变得可用。如果没有该检查,如果读取器进程能够在那个时候完全清空缓冲区,那么我们可能会错过唯一一次唤醒并永远休眠的唤醒。在满足自己必须睡觉的满足感之后,我们可以拨打时间表了。

我无法理解这一解释。如果if (spacefree(dev) == 0)在调用schedule()之前未完成睡眠,我们将如何进入不确定的睡眠状态?如果不存在此强制检查,则wakeup()仍将过程状态重置为TASK_RUNNING并按下一段所述返回计划。

值得再次研究这种情况:如果在if语句中的测试与计划调用之间发生唤醒,会发生什么情况?在这种情况下,一切都很好。唤醒会将过程状态重置为TASK_RUNNING并返回计划-尽管不一定立即进行。只要在流程将自己置于等待队列并更改其状态之后进行测试,事情就可以正常进行。

linux-device-driver linux-kernel blockingqueue

0
推荐指数
1
解决办法
541
查看次数

当我要求unsigned big int时,为什么Delphi(Zeos)在SQLite中给我提供了大字符串?

我正在使用最新的Zeos和SQLite 3.一旦我们创建了所有持久性整数字段,它通常很顺利,从MySQL转换TLargeInt.

但是当我们使用列定义unsigned big int(根据https://www.sqlite.org/datatype3.html允许的唯一无符号类型)时,Delphi会调用结果字段a ftWidestring.

mysql sql delphi sqlite zeos

0
推荐指数
1
解决办法
887
查看次数

从字符串 SQL 的末尾删除新行

我有一个名为 Players 的数据库表,有近 400 行。我在DB Browser for SQLite下使用sqlite

我的所有文本字段都在字符串末尾添加了“\n”。

前任:

"Louie
"
Run Code Online (Sandbox Code Playgroud)

我尝试使用 RTRIM 来消除空格,但没有成功。

我怎样才能从

"Louie
"
Run Code Online (Sandbox Code Playgroud)

"Louie"
Run Code Online (Sandbox Code Playgroud)

sql sqlite

0
推荐指数
1
解决办法
2519
查看次数

SQLiteConstraintException:REAL字段上的NOT NULL约束失败

我收到了有关正常工作的一段代码的崩溃报告。

异常在insertOrThrow中启动,并且是:“异常android.database.sqlite.SQLiteConstraintException:NOT NULL约束失败:HISTORY.altitude(代码1299)”。

表中所有字段都声明为NOT NULL,特别是HISTORY.altitude字段声明为“ REAL NOT NULL”

我无法理解它为NULL的可能性,因为我在insert命令上填充了几行。

任何人都有可能的想法吗?

synchronized public void addSample( long time, int method, float altitude, int accuracy )
{
    ...
        ContentValues cv = new ContentValues();

        long day = new TimeUtils.Day(time).getMillis();
        cv.put(MetaData.COLUMN_DAY, day);
        cv.put(MetaData.COLUMN_TIME, time);
        cv.put(MetaData.COLUMN_ALTITUDE, altitude);
        cv.put(MetaData.COLUMN_METHOD, method);
        cv.put(MetaData.COLUMN_ACCURACY, accuracy);

        long id = latestSample.mId;
        id = mDb.insertOrThrow(MetaData.TABLE_NAME, null, cv);  // <--- Here crash
    ...
}
Run Code Online (Sandbox Code Playgroud)

这里是用来定义表格的代码:

/* Inner class that defines the table contents */
public static abstract class MetaData implements BaseColumns
{
    public static …
Run Code Online (Sandbox Code Playgroud)

sqlite null android nan android-sqlite

-1
推荐指数
1
解决办法
2912
查看次数